2 #include <boost/foreach.hpp> 3 #include <boost/algorithm/string/erase.hpp> 10 TiXmlElement* dateElem =
new TiXmlElement(
"date");
11 dateElem->LinkEndChild(
new TiXmlText(
dateToStr(date)));
17 std::string dateStr = date.toString(base::Time::Milliseconds,
"%Y%m%dT%H%M%S");
18 boost::erase_all(dateStr,
":");
24 TiXmlElement* urlElem =
new TiXmlElement(
"url");
27 urlElem->SetAttribute(
"href", url);
31 urlElem->LinkEndChild(
new TiXmlText(url));
38 TiXmlElement* nameElem =
new TiXmlElement(
"name");
42 nameElem->SetAttribute(
"id", name);
46 nameElem->LinkEndChild(
new TiXmlText(name));
53 std::vector<TiXmlElement*> vec;
54 BOOST_FOREACH(
AgentID aid, aidl)
56 vec.push_back(
getAgentID(aid, useNameId, useUrlHref));
63 TiXmlElement* aidElem =
new TiXmlElement(
"agent-identifier");
66 aidElem->LinkEndChild(nameElem);
69 if(!addresses.empty())
71 TiXmlElement* addressesElem =
new TiXmlElement(
"addresses");
72 BOOST_FOREACH(std::string address, addresses)
74 TiXmlElement* urlElem =
getURL(address, useUrlHref);
75 addressesElem->LinkEndChild(urlElem);
77 aidElem->LinkEndChild(addressesElem);
81 if(!resolvers.empty())
83 TiXmlElement* resolversElem =
new TiXmlElement(
"resolvers");
84 BOOST_FOREACH(TiXmlElement* resolverElem,
getAgentIDSequence(resolvers, useNameId, useUrlHref))
86 resolversElem->LinkEndChild(resolverElem);
88 aidElem->LinkEndChild(resolversElem);
93 aidElem->LinkEndChild(elem);
104 TiXmlElement* recvElem =
new TiXmlElement(
"received" );
108 TiXmlElement* recvByElem =
new TiXmlElement(
"received-by");
109 recvByElem->SetAttribute(
"value", receivedObject.
getBy());
110 recvElem->LinkEndChild(recvByElem);
112 if(receivedObject.
getFrom() !=
"")
114 TiXmlElement* recvFromElem =
new TiXmlElement(
"received-from");
115 recvFromElem->SetAttribute(
"value", receivedObject.
getFrom());
116 recvElem->LinkEndChild(recvFromElem);
119 TiXmlElement* recvDateElem =
new TiXmlElement(
"received-date");
121 recvElem->LinkEndChild(recvDateElem);
123 if(receivedObject.
getId() !=
"")
125 TiXmlElement* recvIdElem =
new TiXmlElement(
"received-id");
126 recvIdElem->SetAttribute(
"value", receivedObject.
getId());
127 recvElem->LinkEndChild(recvIdElem);
130 if(receivedObject.
getVia() !=
"")
132 TiXmlElement* recvViaElem =
new TiXmlElement(
"received-via");
133 recvViaElem->SetAttribute(
"value", receivedObject.
getVia());
134 recvElem->LinkEndChild(recvViaElem);
139 recvElem->LinkEndChild(elem);
147 std::vector<TiXmlElement*> vec;
150 TiXmlElement* userdefParamElem =
new TiXmlElement(
"user-defined");
151 userdefParamElem->SetAttribute(
"href",
"X-" + userdefParam.
getName());
152 userdefParamElem->SetAttribute(
"type",
"string");
153 userdefParamElem->LinkEndChild(
new TiXmlText(userdefParam.
getValue()));
154 vec.push_back(userdefParamElem);
const std::string & getValue() const
const std::string & getName() const
const UserdefinedParameterList & getUserdefinedParameters() const
std::vector< UserdefParam > UserdefinedParameterList
const Via & getVia() const
std::vector< AgentID > AgentIDList
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
const std::vector< std::string > & getAddresses() const
Retrieve list of addresses.
const std::vector< UserdefParam > & getUserdefParams() const
Get the all userdefined parameter.
const base::Time & getDate() const
const Resolvers & getResolvers() const
Get list of resolvers.
overloaded equality operator for UserdefParam class objects
const URL & getBy() const
Implements the general AgentID functionality, which is present throughout the fipa specifications(FIP...
Foundation of Physical Intelligent Agents.