nx_server_plugin_sdk 1.0 Server Plugin SDK

Public Member Functions | Static Public Member Functions | List of all members
AxisCameraPlugin Class Reference

`#include <axis_camera_plugin.h>`

Inheritance diagram for AxisCameraPlugin:

## Public Member Functions
virtual void * | queryInterface (const nxpl::NX_GUID &interfaceID) override
| Implementation of nxpl::PluginInterface::queryInterface. More...
virtual int | addRef () const override
| Implementation of nxpl::PluginInterface::addRef.
virtual int | releaseRef () const override
| Implementation of nxpl::PluginInterface::releaseRef.
nxpt::CommonRefManager * | refManager ()
QNetworkAccessManager * | networkAccessManager ()

## Static Public Member Functions
static AxisCameraPlugin * | instance ()

## Detailed Description

The main plugin class. Hosts and initializes the necessary internal data.

This project demonstrates usage of camera integration plugin API to add AXIS camera support to the Server. Overrides built-in AXIS camera driver.

Implements following camera integration interfaces:

- nxcip::CameraDiscoveryManager to enable AXIS camera discovery by MDNS.
- nxcip::BaseCameraManager to retrieve camera properties and access other managers.
- nxcip::CameraMediaEncoder to receive media stream from camera.
- nxcip::CameraRelayIOManager to receive relay input port change state events and change relay output port state.

Object life-time management:

- All classes implementing `nxcip::` interfaces delegate reference counting (by using CommonRefManager(CommonRefManager*) constructor) to factory class instance (e.g. AxisCameraManager is a factory for AxisRelayIOManager, AxisMediaEncoder, etc.).
- All factory classes (except for AxisCameraDiscoveryManager) hold a pointer to the child class object (e.g. AxisRelayIOManager is a child for AxisCameraManager) and delete all children on destruction.

## Member Function Documentation

## ◆ queryInterface()

void * AxisCameraPlugin::queryInterface | ( | const nxpl::NX_GUID & | interfaceID | ) |
| overridevirtual

Implementation of nxpl::PluginInterface::queryInterface.

Supports cast to nxcip::CameraDiscoveryManager interface

Implements nxpl::PluginInterface.

The documentation for this class was generated from the following files:

- samples/device/axis_camera_plugin/src/axis_camera_plugin.h
- samples/device/axis_camera_plugin/src/axis_camera_plugin.cpp