9 #include <QtCore/QAtomicInt> 10 #include <QtCore/QObject> 11 #include <QtCore/QMutex> 12 #include <QtNetwork/QNetworkReply> 13 #include <QtCore/QWaitCondition> 15 #include <camera/camera_plugin.h> 38 unsigned int inputPortCount,
39 unsigned int outputPortCount );
45 virtual int addRef()
const override;
57 unsigned int autoResetTimeoutMS )
override;
70 struct AsyncCallContext
83 enum MultipartedParsingState
92 unsigned int m_inputPortCount;
93 unsigned int m_outputPortCount;
94 std::map<QString, unsigned int> m_inputPortNameToIndex;
95 std::map<QString, unsigned int> m_outputPortNameToIndex;
96 std::list<nxcip::CameraInputEventHandler*> m_eventHandlers;
98 mutable QMutex m_mutex;
99 std::map<unsigned int, QNetworkReply*> m_inputPortHttpMonitor;
100 QWaitCondition m_cond;
101 QAtomicInt m_asyncCallCounter;
103 std::map<int, AsyncCallContext> m_awaitedAsyncCallIDs;
104 MultipartedParsingState m_multipartedParsingState;
109 const std::map<QString, unsigned int>& portNameToIndex )
const;
110 void callSlotFromOwningThread(
const char* slotName,
int*
const resultCode = NULL );
111 void readAxisRelayPortNotification(
const QByteArray& line );
114 void startInputPortMonitoringPriv(
int asyncCallID );
115 void stopInputPortMonitoringPriv(
int asyncCallID );
116 void onMonitorDataAvailable();
117 void onConnectionFinished( QNetworkReply* reply );
AxisRelayIOManager(AxisCameraManager *cameraManager, unsigned int inputPortCount, unsigned int outputPortCount)
Definition: axis_relayio_manager.cpp:17
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxcip::CameraRelayIOManager::queryInterface.
Definition: axis_relayio_manager.cpp:69
virtual int releaseRef() const override
Implementaion of nxpl::PluginInterface::releaseRef.
Definition: axis_relayio_manager.cpp:89
virtual int setRelayOutputState(const char *outputID, int activate, unsigned int autoResetTimeoutMS) override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:106
virtual int getRelayOutputList(char **idList, int *idNum) const override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:94
virtual int getInputPortList(char **idList, int *idNum) const override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:100
virtual int startInputPortMonitoring() override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:135
Provides access to camera's relay input/output port (implements nxcip::CameraRelayIOManager) ...
Definition: axis_relayio_manager.h:25
GUID of plugin interface.
Definition: plugin_api.h:26
Provides access to camera's properties and instanciates other managers (implements nxcip::BaseCameraM...
Definition: axis_camera_manager.h:21
virtual void getLastErrorString(char *errorString) const override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:168
virtual void unregisterEventHandler(nxcip::CameraInputEventHandler *handler) override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:160
Relay input/output management.
Definition: camera_plugin.h:1363
Definition: plugin_tools.h:68
virtual int addRef() const override
Implementaion of nxpl::PluginInterface::addRef.
Definition: axis_relayio_manager.cpp:84
virtual void registerEventHandler(nxcip::CameraInputEventHandler *handler) override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:152
virtual void stopInputPortMonitoring() override
Implementation of nxcip::CameraRelayIOManager::getRelayOutputList.
Definition: axis_relayio_manager.cpp:146