2 #include <boost/algorithm/string.hpp>
4 #include <base-logging/Logging.hpp>
17 char digitString[100];
18 int digit = sword.size();
19 snprintf(digitString,100,
"#%d%c",digit,
'\"');
21 return digitString + sword;
42 std::string time = baseTime.toString(base::Time::Milliseconds);
46 boost::erase_all(time,
":");
47 boost::erase_all(time,
"-");
50 time.insert(14,
sizeof(
char),
'0');
59 for (i = 0; i < date1.length(); i = i + 2)
72 size_t decimal_size = cn.length();
74 for(i = 0; i < decimal_size; i++)
76 if ((cn[i]>=
'0') && (cn[i]<=
'9')) code = char(code + 1 +
int(cn[i]) - 48);
77 if (cn[i] ==
'+') code = char(code + 12);
78 if ((cn[i] ==
'E') || (cn[i] ==
'e')) code = char(code + 13);
79 if (cn[i] ==
'-') code = char(code + 14);
80 if (cn[i] ==
'.') code = char(code + 15);
91 if (decimal_size % 2 != 0)
107 size_t decimal_size = cn.length();
109 for(i = 0; i < decimal_size; ++i)
114 case '0': code += char(0x01);
break;
115 case '1': code += char(0x02);
break;
116 case '2': code += char(0x03);
break;
117 case '3': code += char(0x04);
break;
118 case '4': code += char(0x05);
break;
119 case '5': code += char(0x06);
break;
120 case '6': code += char(0x07);
break;
121 case '7': code += char(0x08);
break;
122 case '8': code += char(0x09);
break;
123 case '9': code += char(0x0a);
break;
156 encoded += char(0x13);
158 encoded += char(0x12);
161 std::stringstream ss;
170 std::stringstream ss;
178 std::string msg =
"";
182 msg += char(0x10);
break;
184 msg += char(0x11);
break;
186 msg += char(0x12);
break;
188 throw std::runtime_error(
"BitefficientFormat: Cannot encode unknown acl representation");
201 std::string from = receivedObject.
getFrom();
207 std::string
id = receivedObject.
getId();
213 std::string via = receivedObject.
getVia();
220 std::vector<UserdefParam>::const_iterator cit = list.begin();
221 for(; cit != list.end(); ++cit)
228 return receivedObjectString;
237 if(!addresses.empty())
239 Addresses::const_iterator cit = addresses.begin();
240 agentIdString += char(0x02);
241 for(; cit != addresses.end(); ++cit)
251 if(!resolvers.empty())
253 Resolvers::const_iterator cit = resolvers.begin();
254 agentIdString += char(0x03);
255 for(; cit != resolvers.end(); ++cit)
265 if(!userdefParams.empty())
267 UserdefinedParameterList::const_iterator cit = userdefParams.begin();
268 for(; cit != userdefParams.end(); ++cit)
270 agentIdString += char(0x05);
277 return agentIdString;
282 std::vector<AgentID>::const_iterator cit = agentIds.begin();
283 std::string sequence;
284 for(;cit != agentIds.end(); ++cit)
const UserdefinedParameterList & getUserdefinedParameters() const
const Resolvers & getResolvers() const
Get list of resolvers.
const URL & getFrom() const
const std::string & getName() const
setter and getter methods for all fields; they do not result in deep-copies assignments/retreivals, but this can be easily changed if needed through the overloaded operator which do
std::vector< UserdefParam > UserdefinedParameterList
const URL & getBy() const
const base::Time & getDate() const
const std::vector< std::string > & getAddresses() const
Retrieve list of addresses.
std::vector< std::string > Addresses
const Via & getVia() const
const std::vector< UserdefParam > & getUserdefParams() const
Get the all userdefined parameter.
Implements the general AgentID functionality, which is present throughout the fipa specifications(FIP...