void StatusType::serialize( std::vector<std::string>& saStatus , size_t& nCount , SocketPackage& cPackage , bool bWriteToStorage ) { size_t n; if ( bWriteToStorage ) { cPackage.add( int(nCount) ); for ( n=0; n<nCount; n++ ) cPackage.add( saStatus[n] ); } else { nCount = cPackage.getInt(); saStatus.resize( std::max<size_t>(INI_SIZE,nCount) ); for ( n=0; n<nCount; n++ ) { cPackage.getString( saStatus[n] ); } } }
void ReadData::readEveryObject( SocketPackage& cPackage ) { ItemStorageWithKey<Class,std::string>& cStorage = Class::getStorage(); int n, max; std::string sID = Class::ClassID(); TFSBasis* pObject; max = cPackage.getInt(); for ( n=0; n<max; n++ ) TFSBasis::serialize( pObject, cPackage, false ); }
void TFSBasis::serialize( std::vector<Class*>& paArray , size_t& nSize , SocketPackage& cPackage , bool bWriteToStorage ) { size_t n; TFSBasis *pAction; if ( bWriteToStorage ) { cPackage.add( int(nSize) ); for ( n=0; n<nSize; n++ ) { pAction = paArray[n]; if ( !getStorage().isPresent(pAction) ) pAction = NULL; serialize( pAction, cPackage, true ); } } else { nSize = cPackage.getInt(); paArray.resize( std::max<size_t>(INI_SIZE,nSize) ); for ( n=0; n<nSize; n++ ) { serialize( pAction, cPackage, false ); if ( pAction == NULL ) paArray[n] = NULL; else paArray[n] = dynamic_cast<Class*>( pAction ); } } }