Changeset 509 for XIOS/trunk/src/object_template_impl.hpp
- Timestamp:
- 11/13/14 15:09:14 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/object_template_impl.hpp
r501 r509 55 55 ERROR("CObjectTemplate<T> construtor 3", << "Not completly implemented yet !"); 56 56 } 57 57 58 58 template <class T> 59 59 CObjectTemplate<T>::~CObjectTemplate(void) … … 65 65 std::vector<boost::shared_ptr<T> > & 66 66 CObjectTemplate<T>::GetAllVectobject(const StdString & contextId) 67 { 68 return (CObjectTemplate<T>::AllVectObj[contextId]); 69 } 70 71 //--------------------------------------------------------------- 72 67 { 68 return (CObjectTemplate<T>::AllVectObj[contextId]); 69 } 70 71 //--------------------------------------------------------------- 72 73 73 template <class T> 74 74 StdString CObjectTemplate<T>::toString(void) const … … 84 84 template <class T> 85 85 void CObjectTemplate<T>::fromString(const StdString & str) 86 { 86 { 87 87 ERROR("CObjectTemplate<T>::fromString(str)", 88 << "[ str = " << str << "] Not implemented yet !"); 89 } 90 91 //--------------------------------------------------------------- 92 93 /* 88 << "[ str = " << str << "] Not implemented yet !"); 89 } 90 91 //--------------------------------------------------------------- 92 93 /* 94 94 template <class T> 95 95 void CObjectTemplate<T>::toBinary(StdOStream & os) const 96 96 { 97 SuperClassMap::toBinary(os); 98 } 99 97 SuperClassMap::toBinary(os); 98 } 99 100 100 template <class T> 101 101 void CObjectTemplate<T>::fromBinary(StdIStream & is) 102 102 { 103 SuperClassMap::fromBinary(is); 103 SuperClassMap::fromBinary(is); 104 104 } 105 105 */ … … 121 121 return (T::GetType()); 122 122 } 123 123 124 124 template <class T> 125 125 string CObjectTemplate<T>::getName(void) const … … 127 127 return (T::GetName()); 128 128 } 129 129 130 130 //--------------------------------------------------------------- 131 131 132 132 template <class T> 133 133 bool CObjectTemplate<T>::hasChild(void) const 134 { 135 return (false); 134 { 135 return (false); 136 136 } 137 137 … … 140 140 template <class T> 141 141 void CObjectTemplate<T>::solveDescInheritance(bool apply, const CAttributeMap * const parent) 142 { 143 SuperClassMap::setAttributes(parent, apply); 142 { 143 SuperClassMap::setAttributes(parent, apply); 144 144 } 145 145 … … 160 160 } 161 161 162 template<typename T> 163 void CObjectTemplate<T>::sendAllAttributesToServer() 164 { 165 CAttributeMap& attrMap = *this; 166 CAttributeMap::const_iterator it = attrMap.begin(), itE = attrMap.end(); 167 for (; it != itE; ++it) 168 { 169 if (!(it->second)->isEmpty()) sendAttributToServer(*(it->second)); 170 } 171 172 } 173 162 174 template <class T> 163 175 void CObjectTemplate<T>::sendAttributToServer(const string& id) … … 172 184 { 173 185 CContext* context=CContext::getCurrent() ; 174 186 175 187 if (!context->hasServer) 176 188 { 177 189 CContextClient* client=context->client ; 178 190 179 CEventClient event(getType(),EVENT_ID_SEND_ATTRIBUTE) ; 191 CEventClient event(getType(),EVENT_ID_SEND_ATTRIBUTE) ; 180 192 if (client->isServerLeader()) 181 193 { … … 189 201 else client->sendEvent(event) ; 190 202 } 191 203 192 204 } 193 205 194 206 template <class T> 195 207 void CObjectTemplate<T>::recvAttributFromClient(CEventServer& event) 196 208 { 197 209 198 210 CBufferIn* buffer=event.subEvents.begin()->buffer; 199 211 string id,attrId; … … 220 232 return true ; 221 233 break ; 222 234 223 235 default : 224 236 return false ; … … 227 239 } 228 240 } 229 241 230 242 template <typename T> 231 243 bool CObjectTemplate<T>::has(const string & id) … … 251 263 return CObjectFactory::GetObject<T>(ptr).get() ; 252 264 } 253 265 254 266 template <typename T> 255 267 shared_ptr<T> CObjectTemplate<T>::getShared(const T* ptr) … … 263 275 return CObjectFactory::GetObject<T>((T*)this) ; 264 276 } 265 277 266 278 template <typename T> 267 279 const vector<T*> CObjectTemplate<T>::getAll() … … 269 281 const vector< shared_ptr<T> >& shared_vect= CObjectFactory::GetObjectVector<T>(); 270 282 vector<T*> vect ; 271 283 272 284 typename vector<shared_ptr<T> >::const_iterator it; 273 285 for(it=shared_vect.begin();it!=shared_vect.end();++it) vect.push_back(it->get()) ; … … 280 292 const vector< shared_ptr<T> >& shared_vect= CObjectFactory::GetObjectVector<T>(id); 281 293 vector<T*> vect ; 282 294 283 295 typename vector<shared_ptr<T> >::const_iterator it; 284 296 for(it=shared_vect.begin();it!=shared_vect.end();++it) vect.push_back(it->get()) ; … … 303 315 return CObjectFactory::GetObject<T>((T*)this).get() ; 304 316 } 305 317 306 318 template <typename T> 307 319 void CObjectTemplate<T>::generateCInterface(ostream& oss) … … 310 322 int found=className.find_first_of("_") ; 311 323 if (found!=string::npos) className.replace(found,1,0,'x') ; 312 324 313 325 oss<<"/* ************************************************************************** *"<<iendl ; 314 326 oss<<" * Interface auto generated - do not modify *"<<iendl ; … … 340 352 int found=className.find_first_of("_") ; 341 353 if (found!=string::npos) className.replace(found,1,0,'x') ; 342 354 343 355 oss<<"! * ************************************************************************** *"<<iendl ; 344 356 oss<<"! * Interface auto generated - do not modify *"<<iendl ; … … 349 361 oss<<iendl ; 350 362 oss<<"INTERFACE ! Do not call directly / interface FORTRAN 2003 <-> C99"<<iendl++ ; 351 oss<<iendl ; 363 oss<<iendl ; 352 364 oss<<iendl ; 353 365 SuperClassMap::generateFortran2003Interface(oss,className) ; … … 356 368 oss<<"END MODULE "<<className<<"_interface_attr"<<iendl ; 357 369 } 358 370 359 371 template <typename T> 360 372 void CObjectTemplate<T>::generateFortranInterface(ostream& oss) … … 366 378 found=superClassName.find("_group") ; 367 379 if (found!=string::npos) superClassName.erase(found,6) ; 368 380 369 381 oss<<"! * ************************************************************************** *"<<iendl ; 370 382 oss<<"! * Interface auto generated - do not modify *"<<iendl ; … … 398 410 SuperClassMap::generateFortranInterfaceIsDefined_hdl(oss,className) ; 399 411 oss<<iendl ; 400 SuperClassMap::generateFortranInterfaceIsDefined_hdl_(oss,className) ; 412 SuperClassMap::generateFortranInterfaceIsDefined_hdl_(oss,className) ; 401 413 oss<<iendl-- ; 402 414 oss<<"END MODULE i"<<className<<"_attr"<<iendl ;
Note: See TracChangeset
for help on using the changeset viewer.