Serveur OPCUA générique
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Macros
cta_slc_instruction_set.h
Aller à la documentation de ce fichier.
1 /******************************************************************************
2  **
3  **
4  ** Copyright (C) LAPP. CNRS
5  **
6  ** Project: C++ OPCUA generique
7  **
8  ** Description:
9  **
10  ** Author : Panazol Jean Luc
11  ******************************************************************************/
12 
13 #ifndef CTA_SLC_INTRUCTION_SET_H
14 #define CTA_SLC_INTRUCTION_SET_H
15 
16 #include <list>
17 #include <string>
18 #include <libxml/parser.h>
19 #include <libxml/xpath.h>
20 #include "cta_ua_nodemanager.h"
21 #include "cta_slc_objectUA.h"
22 #include <vector>
23 
24 namespace CTA_Slc_Dict {
25 
26 class Instruction: public ElementBase {
27 public:
28  Instruction(xmlNodePtr noeud);
29  ~Instruction();
30  void createNodes();
31  void parse();
32  int getCmd(std::string name, std::string *value);
33 
34 private:
35  std::string m_par_name;
36  std::string m_par_type;
37  std::string m_par_rwflag;
38  std::string m_par_cmdw;
39  std::string m_par_cmdr;
40  std::string m_par_desc;
41  std::string m_ans_pattern;
42  std::string m_opcua_history;
43  std::string m_opcua_variable;
44 };
45 
47  static Instruction_set *singleton; // pointeur vers le singleton
48  Instruction_set(xmlNodePtr noeud, std::string parent);
49  ~Instruction_set();
50 public:
51  static Instruction_set *getInstance(xmlNodePtr noeud, std::string parent);
52  static Instruction_set *getInstance();
53  static void kill();
54 public:
55  void createNodes();
56  void parse();
57  int getCmd(std::string name, std::string *value);
58 private:
59  std::string m_value; // a rajouter dans dictionnaire pour avoir une parametre par defaut
60  std::string m_type;
61  std::list<Instruction*> m_instruction;
62 };
63 
64 } // end namespace
65 #endif // CTA_SLC_INTRUCTION_SET_H