ItalaApi  1.3.3
ISystem.h
1 
2 /***********************************************************************************
3  *
4  * ItalaApi - Copyright (C) 2022 Opto Engineering
5  *
6  * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
7  * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
8  * FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT
9  * HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY SUFFERED BY LICENSE AS
10  * A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
11  *
12  ***********************************************************************************/
13 
14 #ifndef ITALA_API_ISYSTEM_H
15 #define ITALA_API_ISYSTEM_H
16 
17 #include "GenApi/INodeMap.h"
18 #include "ItalaApi/DeviceInfo.h"
19 #include "ItalaApi/IDisposable.h"
20 #include "ItalaApi/ItalaDefs.h"
21 
22 namespace Itala {
23 
24 struct IDevice;
25 
34 struct ISystem : public IDisposable {
35 public:
44  virtual DeviceInfoList EnumerateDevices(uint64_t timeout) = 0;
45 
55  virtual DeviceInfoList EnumerateDevices(InterfaceInfo itfInfo, uint64_t timeout) = 0;
56 
66  virtual DeviceInfoList EnumerateDevices(InterfaceInfoList itfInfos, uint64_t timeout) = 0;
67 
82  virtual IDevice* CreateDevice(DeviceInfo devInfo) = 0;
83 
92  virtual GenApi::INodeMap& GetNodeMap() const = 0;
93 
99  virtual InterfaceInfoList EnumerateInterfaces() = 0;
100 
109  virtual GenApi::INodeMap& GetInterfaceNodeMap(InterfaceInfo itfInfo) = 0;
110 
111 protected:
112  virtual ~ISystem(){};
113 };
114 
126 ITALA_API
127 ISystem* CreateSystem();
128 } // namespace Itala
129 
130 #endif
Definition: DeviceInfo.h:31
Definition: InterfaceInfo.h:32
virtual InterfaceInfoList EnumerateInterfaces()=0
Definition: DefectivePixel.h:23
Definition: IDevice.h:34
virtual IDevice * CreateDevice(DeviceInfo devInfo)=0
virtual GenApi::INodeMap & GetNodeMap() const =0
virtual GenApi::INodeMap & GetInterfaceNodeMap(InterfaceInfo itfInfo)=0
Definition: IDisposable.h:27
Definition: ISystem.h:34
virtual DeviceInfoList EnumerateDevices(uint64_t timeout)=0