9 #include <QtCore/QAtomicInt> 10 #include <QtCore/QMutex> 11 #include <QtCore/QObject> 12 #include <QtCore/QWaitCondition> 13 #include <QtNetwork/QNetworkReply> 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;
72 struct AsyncCallContext
85 enum MultipartedParsingState
94 unsigned int m_inputPortCount;
95 unsigned int m_outputPortCount;
96 std::map<QString, unsigned int> m_inputPortNameToIndex;
97 std::map<QString, unsigned int> m_outputPortNameToIndex;
98 std::list<nxcip::CameraInputEventHandler*> m_eventHandlers;
100 mutable QMutex m_mutex;
101 std::map<unsigned int, QNetworkReply*> m_inputPortHttpMonitor;
102 QWaitCondition m_cond;
103 QAtomicInt m_asyncCallCounter;
105 std::map<int, AsyncCallContext> m_awaitedAsyncCallIDs;
106 MultipartedParsingState m_multipartedParsingState;
111 const std::map<QString, unsigned int>& portNameToIndex )
const;
112 void callSlotFromOwningThread( PortMonitoringSlotPtr slotPtr,
int*
const resultCode = NULL );
113 void readAxisRelayPortNotification(
const QByteArray& line );
116 void startInputPortMonitoringPriv(
int asyncCallID );
117 void stopInputPortMonitoringPriv(
int asyncCallID );
118 void onMonitorDataAvailable();
119 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
Implementation 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 instantiates 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:1407
Definition: plugin_tools.h:67
virtual int addRef() const override
Implementation 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