4 #include <Eris/Types.h>
6 #include "TransferInfo.h"
8 #include <Atlas/Objects/ObjectsFwd.h>
10 #include <sigc++/signal.h>
26 typedef std::map<std::string, Atlas::Objects::Entity::RootEntity> CharacterMap;
28 typedef std::map<std::string, Avatar*> ActiveCharacterMap;
33 typedef std::map<std::string, SpawnPoint> SpawnPointMap;
44 class Account :
virtual public sigc::trackable
67 Result
login(
const std::string &uname,
const std::string &pwd);
81 const std::string &fullName,
82 const std::string &pwd);
130 Result
createCharacter(
const Atlas::Objects::Entity::RootEntity &character);
157 const std::string&
getId()
const;
168 const std::list<std::string>&
getParents()
const;
232 void sightCharacter(
const Atlas::Objects::Operation::RootOperation& op);
234 void loginComplete(
const Atlas::Objects::Entity::Account &p);
235 void loginError(
const Atlas::Objects::Operation::Error& err);
237 Result internalLogin(
const std::string &unm,
const std::string &pwd);
238 void internalLogout(
bool clean);
245 void netFailure(
const std::string& msg);
247 void loginResponse(
const Atlas::Objects::Operation::RootOperation& op);
248 void logoutResponse(
const Atlas::Objects::Operation::RootOperation& op);
249 void avatarResponse(
const Atlas::Objects::Operation::RootOperation& op);
250 void avatarLogoutResponse(
const Atlas::Objects::Operation::RootOperation& op);
252 void handleLogoutTimeout();
255 void handleLoginTimeout();
268 void internalDeactivateCharacter(
Avatar* av);
269 virtual void updateFromObject(
const Atlas::Objects::Entity::Account &p);
279 std::list< std::string > m_parents;
280 std::vector< std::string > m_characterTypes;
282 StringSet m_characterIds;
285 ActiveCharacterMap m_activeCharacters;
286 std::auto_ptr<Timeout> m_timeout;
302 return m_activeCharacters;