PhoenixProtocolBuffer  1.0.1
Set of tools to decode offset from protocol buffer
Loading...
Searching...
No Matches
FieldType.cpp File Reference
#include "FieldType.h"
+ Include dependency graph for FieldType.cpp:

Go to the source code of this file.

Functions

template<>
FieldType::FieldType phoenix_fieldType< char > ()
 Get the FieldType of a int8.
 
template<>
FieldType::FieldType phoenix_fieldType< int > ()
 Get the FieldType of a int32.
 
template<>
FieldType::FieldType phoenix_fieldType< long > ()
 Get the FieldType of a int64.
 
template<>
FieldType::FieldType phoenix_fieldType< long unsigned int > ()
 Get the FieldType of a uint64.
 
template<>
FieldType::FieldType phoenix_fieldType< short > ()
 Get the FieldType of a int16.
 
template<>
FieldType::FieldType phoenix_fieldType< unsigned char > ()
 Get the FieldType of a uint8.
 
template<>
FieldType::FieldType phoenix_fieldType< unsigned int > ()
 Get the FieldType of a uint32.
 
template<>
FieldType::FieldType phoenix_fieldType< unsigned short > ()
 Get the FieldType of a uint16.
 
FieldType::FieldType phoenix_fieldTypeFromStr (const std::string &name)
 Convert a string into a FieldType.
 
std::string phoenix_fieldTypeToStr (FieldType::FieldType type)
 Convert a FieldType into a string.
 
FieldType::FieldType phoenix_pbTypeToFieldType (size_t fieldType)
 Convert a FIeld Type from protocol buffer to FieldType.
 

Function Documentation

◆ phoenix_fieldType< char >()

template<>
FieldType::FieldType phoenix_fieldType< char > ( )

Get the FieldType of a int8.

Returns
corresponding FieldType

Definition at line 70 of file FieldType.cpp.

70 {
71 return FieldType::INT8;
72}

References FieldType::INT8.

◆ phoenix_fieldType< int >()

template<>
FieldType::FieldType phoenix_fieldType< int > ( )

Get the FieldType of a int32.

Returns
corresponding FieldType

Definition at line 54 of file FieldType.cpp.

54 {
55 return FieldType::INT32;
56}

References FieldType::INT32.

◆ phoenix_fieldType< long >()

template<>
FieldType::FieldType phoenix_fieldType< long > ( )

Get the FieldType of a int64.

Returns
corresponding FieldType

Definition at line 46 of file FieldType.cpp.

46 {
47 return FieldType::INT64;
48}

References FieldType::INT64.

◆ phoenix_fieldType< long unsigned int >()

template<>
FieldType::FieldType phoenix_fieldType< long unsigned int > ( )

Get the FieldType of a uint64.

Returns
corresponding FieldType

Definition at line 14 of file FieldType.cpp.

14 {
15 return FieldType::UINT64;
16}

References FieldType::UINT64.

◆ phoenix_fieldType< short >()

template<>
FieldType::FieldType phoenix_fieldType< short > ( )

Get the FieldType of a int16.

Returns
corresponding FieldType

Definition at line 62 of file FieldType.cpp.

62 {
63 return FieldType::INT16;
64}

References FieldType::INT16.

◆ phoenix_fieldType< unsigned char >()

template<>
FieldType::FieldType phoenix_fieldType< unsigned char > ( )

Get the FieldType of a uint8.

Returns
corresponding FieldType

Definition at line 38 of file FieldType.cpp.

38 {
39 return FieldType::UINT8;
40}

References FieldType::UINT8.

◆ phoenix_fieldType< unsigned int >()

template<>
FieldType::FieldType phoenix_fieldType< unsigned int > ( )

Get the FieldType of a uint32.

Returns
corresponding FieldType

Definition at line 22 of file FieldType.cpp.

22 {
23 return FieldType::UINT32;
24}

References FieldType::UINT32.

◆ phoenix_fieldType< unsigned short >()

template<>
FieldType::FieldType phoenix_fieldType< unsigned short > ( )

Get the FieldType of a uint16.

Returns
corresponding FieldType

Definition at line 30 of file FieldType.cpp.

30 {
31 return FieldType::UINT16;
32}

References FieldType::UINT16.

◆ phoenix_fieldTypeFromStr()

FieldType::FieldType phoenix_fieldTypeFromStr ( const std::string & name)

Convert a string into a FieldType.

Parameters
name: string to be converted into a FieldType
Returns
corresponding FieldType

Definition at line 78 of file FieldType.cpp.

78 {
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}

References FieldType::BYTEARRAY, FieldType::ENUM_TYPE, FieldType::INT16, FieldType::INT32, FieldType::INT64, FieldType::INT8, FieldType::NONE, FieldType::SUBMESSAGE, FieldType::UINT16, FieldType::UINT32, FieldType::UINT64, and FieldType::UINT8.

Referenced by phoenix_parseFieldConfig().

+ Here is the caller graph for this function:

◆ phoenix_fieldTypeToStr()

std::string phoenix_fieldTypeToStr ( FieldType::FieldType type)

Convert a FieldType into a string.

Parameters
type: FieldType to be converted
Returns
corresponding string

Definition at line 99 of file FieldType.cpp.

99 {
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}

References FieldType::BYTEARRAY, FieldType::ENUM_TYPE, FieldType::INT16, FieldType::INT32, FieldType::INT64, FieldType::INT8, FieldType::SUBMESSAGE, FieldType::UINT16, FieldType::UINT32, FieldType::UINT64, and FieldType::UINT8.

Referenced by FieldParser::checkInputType(), and FieldParser::loadComputeOffset().

+ Here is the caller graph for this function:

◆ phoenix_pbTypeToFieldType()

FieldType::FieldType phoenix_pbTypeToFieldType ( size_t fieldType)

Convert a FIeld Type from protocol buffer to FieldType.

Parameters
fieldType: field type form protocol buffer
Returns
corresponding FieldType

Definition at line 120 of file FieldType.cpp.

120 {
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}

References FieldType::BYTEARRAY, FieldType::ENUM_TYPE, FieldType::NONE, FieldType::UINT32, and FieldType::UINT64.

Referenced by FieldParser::loadComputeOffset().

+ Here is the caller graph for this function: