Serveur OPCUA générique
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Macros
hardware_udp.h
Aller à la documentation de ce fichier.
1 /******************************************************************************
2 
3  ******************************************************************************/
4 #ifndef __HARDWARE_UDP_H__
5 #define __HARDWARE_UDP_H__
6 
7 #include "nodemanagerroot.h"
8 
9 #include "uabase.h"
10 #include "uastring.h"
11 #include "statuscode.h"
12 #include "uaarraytemplates.h"
13 #include "uathread.h"
14 #include "nodemanagerbase.h"
15 #include "string"
16 #include "../socket/socket.h"
17 
18 namespace CTA_UA {
19 class NodeManagerCTA;
20 class ControllerObject;
21 class HardWareInterface;
22 }
23 
24 namespace CTA_Hardware {
25 class HardWareInterface;
26 class Socket;
27 }
28 
29 class PluginsLoader;
30 class DataSenderReceiver;
31 namespace CTA_Slc {
32 
33 class NodeManagerSlc;
34 class XmlManager;
35 }
36 
37 namespace CTA_Slc_Dict {
38 class SimpleDevice;
39 
40 }
41 
42 namespace CTA_Hardware {
43 
44 class HardWare_UDP: public HardWareInterface, public Socket {
45 public:
46  HardWare_UDP(std::string address, int port, std::string full,
47  DataSenderReceiver *my_plugins, int manageInterface);
48  ~HardWare_UDP();
49  int open();
50  int close();
51  int init(std::string name);
52  void traite(std::string value);
53 
54  int write(std::string cmd);
55  int set(std::string value);
56  int set(std::string value, std::vector<Byte> res) {
57  return 0;
58  }
59  ;
60  int set(std::string value, std::vector<short int> res) {
61  return 0;
62  }
63  ;
64  int set(std::string value, std::vector<int> res) {
65  return 0;
66  }
67  ;
68  int set(std::string value, std::vector<long> res) {
69  return 0;
70  }
71  ;
72  int set(std::string value, std::vector<float> res) {
73  return 0;
74  }
75  ;
76 
77  int cmd(std::string value, std::string *retValue);
78 
79  int get(std::string command, std::vector<Byte> *res);
80  int get(std::string command, std::vector<short int> *res);
81  int get(std::string command, std::vector<int> *res);
82  int get(std::string command, std::vector<long> *res);
83  int get(std::string command, std::vector<float> *res);
84  int get(std::string command, std::string *result);
85 
86  int read();
87  //int set(std::string ip, int port, std::vector<Byte> value);
88 private:
89  int get(std::string command);
90  int setTrame(std::string value, std::string *retValue);
91  int getTrame(std::string value, std::string *retValue);
92  int write(std::string ip, int port, char *sendBuffer);
93  void makeArgv(std::string chaine, int *argc, char** *argv);
94 
95 public:
96  OpcUa_Int value;
99 
100 private:
101  int m_timeOut_sec;
102  int m_timeOut_usec;
103  std::string m_pullPush;
104  std::string m_name;
105  int m_header_Size;
106  std::string m_data_Type;
107  std::string m_headerId;
108  int m_footer_Size;
109  int m_id1_Size;
110  int m_id2_Size;
111  std::string m_id1;
112  std::string m_id2;
113  UaVariant value2;
114  char recvBuffer[8192];
115  int sizeReceived;
116  int m_isTrame;
117 
118  std::string m_full;
119  int m_manageInterface;
120  CTA_Slc::XmlManager *m_pAnalyserManager;
121 };
122 }
123 #endif