00001 00002 00003 00004 00005 00006 00007 00008 00009 #ifndef __SYSTEM_ID_LIST_H 00010 #define __SYSTEM_ID_LIST_H 00011 00012 #include "RakNetTypes.h" 00013 #include "DS_OrderedList.h" 00014 00015 class SystemAddressList 00016 { 00017 public: 00018 SystemAddressList(); 00019 SystemAddressList(SystemAddress system); 00020 void AddSystem(SystemAddress system); 00021 void RandomizeOrder(void); 00022 void Serialize(RakNet::BitStream *out); 00023 bool Deserialize(RakNet::BitStream *in); 00024 bool Save(const char *filename); 00025 bool Load(const char *filename); 00026 void RemoveSystem(SystemAddress system); 00027 unsigned Size(void) const; 00028 SystemAddress& operator[] ( const unsigned int position ) const; 00029 void Clear(void); 00030 00031 DataStructures::List<SystemAddress> * GetList(void); 00032 00033 protected: 00034 DataStructures::List<SystemAddress> systemList; 00035 }; 00036 00037 #endif