nx_video_source_sdk  1.0
Video Source SDK
time_periods.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <list>
6 #include <utility>
7 
8 #include <camera/camera_plugin.h>
9 
10 #include <plugins/plugin_tools.h>
11 
13 :
14  public nxcip::TimePeriods
15 {
16 public:
17  typedef std::list<std::pair<nxcip::UsecUTCTimestamp, nxcip::UsecUTCTimestamp> > container_type;
18  container_type timePeriods;
19 
20  TimePeriods();
21 
23  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
25  virtual int addRef() const override;
27  virtual int releaseRef() const override;
28 
30  virtual bool get( nxcip::UsecUTCTimestamp* start, nxcip::UsecUTCTimestamp* end ) const override;
32  virtual void goToBeginning() override;
34  virtual bool next() override;
36  virtual bool atEnd() const override;
37 
38 private:
39  nxpt::CommonRefManager m_refManager;
40  container_type::const_iterator m_pos;
41 };
Definition: time_periods.h:12
virtual void goToBeginning() override
Implementation of nxcip::TimePeriods::goToBeginning.
Definition: time_periods.cpp:44
GUID of plugin interface.
Definition: plugin_api.h:26
virtual bool atEnd() const override
Implementation of nxcip::TimePeriods::atEnd.
Definition: time_periods.cpp:54
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: time_periods.cpp:23
virtual int releaseRef() const override
Implementation of nxpl::PluginInterface::releaseRef.
Definition: time_periods.cpp:29
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: time_periods.cpp:12
Definition: plugin_tools.h:68
virtual bool next() override
Implementation of nxcip::TimePeriods::next.
Definition: time_periods.cpp:49
Array of time periods.
Definition: camera_plugin.h:664