PhoenixProtocolBuffer  1.0.1
Set of tools to decode offset from protocol buffer
Loading...
Searching...
No Matches
FieldType.cpp
Go to the documentation of this file.
1/***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5****************************************/
6
7#include "FieldType.h"
8
9
11
13template<>
17
19
21template<>
25
27
29template<>
33
35
37template<>
41
43
45template<>
49
51
53template<>
57
59
61template<>
65
67
69template<>
73
75
79 if(name == "bytearray"){return FieldType::BYTEARRAY;}
80 else if(name == "enum"){return FieldType::ENUM_TYPE;}
81 else if(name == "int8"){return FieldType::INT8;}
82 else if(name == "int16"){return FieldType::INT16;}
83 else if(name == "int32"){return FieldType::INT32;}
84 else if(name == "int64"){return FieldType::INT64;}
85 else if(name == "submessage"){return FieldType::SUBMESSAGE;}
86 else if(name == "uint8"){return FieldType::UINT8;}
87 else if(name == "uint16"){return FieldType::UINT16;}
88 else if(name == "uint32"){return FieldType::UINT32;}
89 else if(name == "uint64"){return FieldType::UINT64;}
90 else{
91 return FieldType::NONE;
92 }
93}
94
96
100 if(type == FieldType::BYTEARRAY){return "bytearray";}
101 else if(type == FieldType::ENUM_TYPE){return "enum";}
102 else if(type == FieldType::INT8){return "int8";}
103 else if(type == FieldType::INT16){return "int16";}
104 else if(type == FieldType::INT32){return "int32";}
105 else if(type == FieldType::INT64){return "int64";}
106 else if(type == FieldType::SUBMESSAGE){return "submessage";}
107 else if(type == FieldType::UINT8){return "uint8";}
108 else if(type == FieldType::UINT16){return "uint16";}
109 else if(type == FieldType::UINT32){return "uint32";}
110 else if(type == FieldType::UINT64){return "uint64";}
111 else {
112 return "none";
113 }
114}
115
117
121 switch(fieldType){
122 case 0lu: //This is an enum, and its value is in a varint
124 case 1lu: //This is a uint64_t
125 return FieldType::UINT64;
126 case 5lu: //This is a uint32_t
127 return FieldType::UINT32;
128 case 2lu: //This is a binary array, which starts by a varint
129 //It can be a sub message
131 default:
132 return FieldType::NONE;
133 }
134}
135
136
std::string phoenix_fieldTypeToStr(FieldType::FieldType type)
Convert a FieldType into a string.
Definition FieldType.cpp:99
FieldType::FieldType phoenix_fieldType< long unsigned int >()
Get the FieldType of a uint64.
Definition FieldType.cpp:14
FieldType::FieldType phoenix_fieldType< int >()
Get the FieldType of a int32.
Definition FieldType.cpp:54
FieldType::FieldType phoenix_fieldType< unsigned short >()
Get the FieldType of a uint16.
Definition FieldType.cpp:30
FieldType::FieldType phoenix_fieldTypeFromStr(const std::string &name)
Convert a string into a FieldType.
Definition FieldType.cpp:78
FieldType::FieldType phoenix_fieldType< char >()
Get the FieldType of a int8.
Definition FieldType.cpp:70
FieldType::FieldType phoenix_fieldType< unsigned char >()
Get the FieldType of a uint8.
Definition FieldType.cpp:38
FieldType::FieldType phoenix_fieldType< short >()
Get the FieldType of a int16.
Definition FieldType.cpp:62
FieldType::FieldType phoenix_fieldType< long >()
Get the FieldType of a int64.
Definition FieldType.cpp:46
FieldType::FieldType phoenix_fieldType< unsigned int >()
Get the FieldType of a uint32.
Definition FieldType.cpp:22
FieldType::FieldType phoenix_pbTypeToFieldType(size_t fieldType)
Convert a FIeld Type from protocol buffer to FieldType.
FieldType
Type of the Field.
Definition FieldType.h:14