OceanDirect  1.30.1-rc.4
OceanDirect C++/C API
ProtocolFamilies.h
1 /*****************************************************
2  * @file ProtocolFamilies.h
3  * @date February 2018
4  * @author Ocean Optics, Inc.
5  *
6  * This provides a way to describe different kinds
7  * protocols (e.g. OOI, OBP) generically.
8  */
9 /************************************************************************
10  *
11  * OCEAN INSIGHT CONFIDENTIAL
12  * __________________
13  *
14  * [2018] - [2020] Ocean Insight Incorporated
15  * All Rights Reserved.
16  *
17  * NOTICE: All information contained herein is, and remains
18  * the property of Ocean Insight Incorporated and its suppliers,
19  * if any. The intellectual and technical concepts contained
20  * herein are proprietary to Ocean Insight Incorporated
21  * and its suppliers and may be covered by U.S. and Foreign Patents,
22  * patents in process, and are protected by trade secret or copyright law.
23  * Dissemination of this information or reproduction of this material
24  * is strictly forbidden unless prior written permission is obtained
25  * from Ocean Insight Incorporated.
26  *
27  **************************************************************************/
28 
29 #ifndef OCEANDIRECT_PROTOCOLFAMILIES_H
30 #define OCEANDIRECT_PROTOCOLFAMILIES_H
31 
32 #include "common/protocols/ProtocolFamily.h"
33 #include <vector>
34 
35 namespace oceandirect {
36  namespace api {
37 
38  class UndefinedProtocolFamily : public ProtocolFamily {
39  public:
41  virtual ~UndefinedProtocolFamily();
42  };
43 
44  class OOIProtocolFamily : public ProtocolFamily {
45  public:
47  virtual ~OOIProtocolFamily();
48  };
49 
50  class OceanBinaryProtocolFamily : public ProtocolFamily {
51  public:
53  virtual ~OceanBinaryProtocolFamily();
54  };
55 
56  class JazMessagingProtocolFamily : public ProtocolFamily {
57  public:
59  virtual ~JazMessagingProtocolFamily();
60  };
61 
62  class VirtualProtocolFamily : public ProtocolFamily {
63  public:
65  virtual ~VirtualProtocolFamily();
66  };
67 
69  public:
70  const UndefinedProtocolFamily UNDEFINED_PROTOCOL;
71  const OOIProtocolFamily OOI_PROTOCOL;
72  const OceanBinaryProtocolFamily OCEAN_BINARY_PROTOCOL;
73  const JazMessagingProtocolFamily JAZ_MESSAGING_PROTOCOL;
74  const VirtualProtocolFamily VIRTUAL_PROTOCOL;
75 
78  std::vector<ProtocolFamily *> getAllProtocolFamilies();
79  };
80  }
81 }
82 
83 #endif
Definition: ProtocolFamilies.h:56
Definition: ProtocolFamilies.h:44
Definition: ProtocolFamilies.h:50
Definition: ProtocolFamilies.h:68
Definition: ProtocolFamilies.h:38
Definition: ProtocolFamilies.h:62
This is an interface to Advance features of OceanDirect that allow access to less common controls....
Definition: AcquisitionDelayFeatureAdapter.h:35