eris  1.4.0
A WorldForge client library.
Eris Namespace Reference

Classes

class  AccountRouter
 
class  Account
 Encapsulates all the state of an Atlas Account, and methods that operation on that state. More...
 
class  ActiveMarker
 
class  Avatar
 
class  BaseConnection
 Underlying Atlas connection, providing a send interface, and receive (dispatch) system. More...
 
class  DateTime
 
class  Calendar
 
struct  ConnectionDecoder
 
class  Connection
 
class  Entity
 Entity is a concrete (instantiable) class representing one game entity. More...
 
class  EntityRef
 
class  EntityRouter
 
class  TimedEvent
 Class for things which occur after a period of time. More...
 
class  WaitFreeQueue
 A queue optimized for insertion from background threads and consumption from one main thread. More...
 
class  EventService
 Handles polling of the IO system as well as making sure that registered handlers are run on the main thread. More...
 
class  BaseException
 
class  InvalidOperation
 
class  InvalidAtlas
 Exception used to indicated malformed or unexpected Atlas from the server. More...
 
class  NetworkFailure
 
class  Factory
 Factory is used to allow custom entity creation by client libraries. More...
 
class  IGRouter
 
class  OOGRouter
 
class  SightPersonRedispatch
 
class  Lobby
 
class  logStreamBase
 
class  notice
 
class  debug
 
class  warning
 
class  error
 
class  MetaQuery
 
struct  MetaDecoder
 
class  Meta
 Meta encapsulates the meta-game system, including the meta-server protocol and queries. More...
 
class  Person
 
class  Redispatch
 
class  ResponseBase
 
class  NullResponse
 
class  MemberResponse
 
class  ResponseTracker
 
class  Room
 
class  Router
 
struct  ServerInfo
 
struct  CharacterType
 An available character type which a client can create a character from on the server. This is presented to the client when first connected to the server and allows a user to select what kind of character to create in the world. More...
 
struct  SpawnProperty
 
struct  SpawnPoint
 Represents a possible spawn point as described by the server. When a new character is created on the server the user can select which "spawn point" the new character should spawn in. Each spawn point in turn will present a list of possible character types to select. More...
 
class  StreamSocket
 Handles the internal socket instance, interacting with the asynchronous io_service calls. More...
 
class  AsioStreamSocket
 Template specialization which uses boost::asio sockets. More...
 
class  ResolvableAsioStreamSocket
 Template specialization which uses boost::asio sockets with resolvers (i.e. TCP and UDP, but not domain sockets). More...
 
class  Task
 
class  TransferInfo
 
class  TypeBoundRedispatch
 
class  TypeInfo
 The representation of an Atlas type (i.e a class or operation definition). This class supports efficent inheritance queries, and traversal of the type hierarchy. Atlas types have a unique ID, and types can be retrieved using this value. Where an Atlas::Objects instance, or an Atlas::Message::Element representing an Atlas object is being examined, it is much more efficient to use the 'getSafe' methods rather than extracting PARENTS[0] and calling findSafe. This is because the getSafe methods may take advantage of integer type codes stored in the object, which avoids a map lookup to locate the type. More...
 
class  TypeService
 
struct  UsageParameter
 
struct  Usage
 
struct  TaskUsage
 
class  View
 
class  ViewEntity
 An entity which is bound to an Eris::View. This subclass of Eris::Entity is intimately bound to a View. As Atlas messages are received from the server these will be routed into an instance of this class. More...
 

Typedefs

typedef std::map< std::string, Atlas::Objects::Entity::RootEntity > CharacterMap
 
typedef std::map< std::string, std::unique_ptr< Avatar > > ActiveCharacterMap
 
typedef std::vector< Entity * > EntityArray
 
typedef std::list< ServerInfoServerList
 Storage of server information. More...
 
typedef std::set< TypeInfo * > TypeInfoSet
 

Enumerations

enum  LogLevel {
  LOG_ERROR = 0 , LOG_WARNING , LOG_NOTICE , LOG_VERBOSE ,
  LOG_DEBUG
}
 
enum  Result {
  NO_ERR = 0 , NOT_CONNECTED , NOT_LOGGED_IN , ALREADY_LOGGED_IN ,
  DUPLICATE_CHAR_ACTIVE , BAD_CHARACTER_ID
}
 

Functions

std::int64_t getNewSerialno ()
 operation serial number sequencing More...
 
void setLogLevel (LogLevel lvl)
 
LogLevel getLogLevel ()
 
void doLog (LogLevel lvl, const std::string &msg)
 
std::ostream & operator<< (std::ostream &os, const Atlas::Objects::Root &obj)
 
std::ostream & operator<< (std::ostream &os, const Atlas::Message::Element &msg)
 
char * pack_uint32 (uint32_t data, char *buffer, unsigned int &size)
 
char * unpack_uint32 (uint32_t &dest, char *buffer)
 
std::string getErrorMessage (const RootOperation &err)
 
void * clearMemberResponse (void *d)
 
std::string getErrorMessage (const Atlas::Objects::Operation::RootOperation &err)
 

Variables

sigc::signal< void, LogLevel, const std::string & > Logged
 
const LogLevel DEFAULT_LOG = LOG_WARNING
 the default logging level for a new connection More...
 
const char * META_SERVER_PORT = "8453"
 
const uint32_t CKEEP_ALIVE = 2
 
const uint32_t HANDSHAKE = 3
 
const uint32_t CLIENTSHAKE = 5
 
const uint32_t LIST_REQ = 7
 
const uint32_t LIST_RESP = 8
 
const uint32_t PROTO_ERANGE = 9
 
const uint32_t LAST = 10
 
const uint32_t LIST_RESP2 = 999
 
const int DATA_BUFFER_SIZE = 4096
 

Detailed Description

Every Eris class and type lives inside the Eris namespace; certain utility functions live in the Util namespace, since they may be moved to a generic WorldForge foundation library in the future.

Typedef Documentation

◆ CharacterMap

typedef std::map<std::string, Atlas::Objects::Entity::RootEntity> Eris::CharacterMap

Type used to return available characters

Definition at line 29 of file Account.h.

◆ ServerList

typedef std::list<ServerInfo> Eris::ServerList

Storage of server information.

Definition at line 36 of file Metaserver.h.

Enumeration Type Documentation

◆ LogLevel

Logging level : setting a higher level will automatically pull in the lower levels (i.e NOTICE implies ERROR and WARNING)

Enumerator
LOG_ERROR 

serious failure indications

LOG_WARNING 

something is amiss, but probably okay to continue

LOG_NOTICE 

general information

LOG_VERBOSE 

lots of information, about every received operation, for example

LOG_DEBUG 

excessive amounts of stuff

Definition at line 12 of file Log.h.

◆ Result

Result codes returned from various methods.

Enumerator
NOT_LOGGED_IN 

Occurs when performing an operation that requires a valid server login.

ALREADY_LOGGED_IN 

Occurs when trying to log in to an Account which is already logged in.

Definition at line 22 of file Types.h.

Function Documentation

◆ getNewSerialno()

◆ setLogLevel()

void Eris::setLogLevel ( LogLevel  lvl)

set the logging level for all sucessive messages : this can be called at any time, so it is reasonable to bracket suspect calls in setLogLevel calls if you choose

Definition at line 19 of file Log.cpp.

Variable Documentation

◆ DEFAULT_LOG

const LogLevel Eris::DEFAULT_LOG = LOG_WARNING

the default logging level for a new connection

Definition at line 21 of file Log.h.

◆ Logged

sigc::signal< void, LogLevel, const std::string & > Eris::Logged

Emitted with logging information; client may handle as it see fit. There is room for considerable expansion of this feature; notably message classes (warning / info / debug). Any feedback greatly appreciated

Definition at line 17 of file Log.cpp.