Sirikata
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::Environment Class Reference

Environment is a SpaceModule which provides a simple service for maintaining shared, global state. More...

#include <Environment.hpp>

Inheritance diagram for Sirikata::Environment:
Collaboration diagram for Sirikata::Environment:

List of all members.

Classes

struct  SubscriberInfo

Public Member Functions

 Environment (SpaceContext *ctx)
virtual void start ()
virtual void stop ()

Private Types

typedef std::tr1::shared_ptr
< SubscriberInfo
SubscriberInfoPtr
typedef
std::tr1::unordered_map
< ObjectReference,
SubscriberInfoPtr,
ObjectReference::Hasher
SubscriberMap

Private Member Functions

virtual void newSession (ObjectSession *session)
virtual void sessionClosed (ObjectSession *session)
void handleStream (int err, ODPSST::Stream::Ptr strm)
void handleMessage (const ObjectReference &id, MemoryReference data)
void sendUpdate (const ObjectReference &id)

Private Attributes

json_spirit::Value mEnvironment
SubscriberMap mSubscribers

Detailed Description

Environment is a SpaceModule which provides a simple service for maintaining shared, global state.

It's useful for creating 'environment' settings for the space, e.g. a skybox, background music, fixed global lighting, etc. It represents the entire environment as a JSON-style object and handles subscriptions to keys within that object on a per-object basis. It isn't proactive -- it will only send updates to objects that have subscribed.

Beware: currently there are no controls on setting values!


Member Typedef Documentation

typedef std::tr1::shared_ptr<SubscriberInfo> Sirikata::Environment::SubscriberInfoPtr [private]

Constructor & Destructor Documentation

Sirikata::Environment::Environment ( SpaceContext ctx)

Member Function Documentation

void Sirikata::Environment::handleMessage ( const ObjectReference id,
MemoryReference  data 
) [private]
void Sirikata::Environment::handleStream ( int  err,
ODPSST::Stream::Ptr  strm 
) [private]
void Sirikata::Environment::newSession ( ObjectSession session) [private, virtual]
void Sirikata::Environment::sendUpdate ( const ObjectReference id) [private]
void Sirikata::Environment::sessionClosed ( ObjectSession session) [private, virtual]
void Sirikata::Environment::start ( ) [virtual]
void Sirikata::Environment::stop ( ) [virtual]

Member Data Documentation

json_spirit::Value Sirikata::Environment::mEnvironment [private]

Referenced by handleMessage(), and sendUpdate().


The documentation for this class was generated from the following files: