nx_server_plugin_sdk 1.0 Server Plugin SDK

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

`#include <image_library_plugin.h>`

Inheritance diagram for ImageLibraryPlugin:

## 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 ()

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

## Detailed Description

Main plugin class. Hosts and initializes the necessary internal data.

This project demonstrates usage of camera integration plugin API to add support of a camera with a remote archive (e.g. the storage is bound directly to the camera).

Usage:

To use this plugin, launch client application and use manual camera search ("Add Camera(s)..." in media server menu) filling "Camera Address" field with absolute path to local directory, containing jpeg file(s). Specified directory will be found as camera with archive and appear in tree menu.

Implements following camera integration interfaces:

- nxcip::CameraDiscoveryManager (DiscoveryManager) to find this plugin.
- nxcip::BaseCameraManager2 (CameraManager) to retrieve camera properties and access other managers.
- nxcip::CameraMediaEncoder2 (MediaEncoder) to receive LIVE media stream from camera.
- nxcip::StreamReader (StreamReader) to provide media stream directly from plugin.
- nxcip::DtsArchiveReader (ArchiveReader) to access archive.

Object life-time management:

- Plugin entry point is createNXPluginInstance function.
- All classes implementing `nxcip::` interfaces delegate reference counting (by using CommonRefManager(CommonRefManager*) constructor) to factory class instance (e.g. CameraManager is a factory for MediaEncoder). This guarantees that CameraManager instance is removed later than MediaEncoder instance.
- All factory classes (except for CameraDiscoveryManager) hold pointer to child class object (e.g. MediaEncoder is a child for CameraManager) and delete all children on destruction.

## Member Function Documentation

## ◆ queryInterface()

void * ImageLibraryPlugin::queryInterface | ( | const nxpl::NX_GUID & | interfaceID | ) |
| override virtual

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/image_library_plugin/src/image_library_plugin.h
- samples/device/image_library_plugin/src/image_library_plugin.cpp