26 #include "sfProperty.h"
27 #include "sfDictionaryProperty.h"
28 #include "sfListProperty.h"
29 #include "sfReferenceProperty.h"
32 namespace SceneFusion2 {
38 public std::enable_shared_from_this<sfSession>
41 typedef std::shared_ptr<sfSession> SPtr;
49 typedef std::function<void(sfObject::SPtr objPtr,
int childIndex)>
CreateHandler;
70 typedef std::function<void(sfObject::SPtr objPtr)>
LockHandler;
123 typedef std::function<void(sfListProperty::SPtr listPtr,
int index,
int count)>
ListAddHandler;
132 typedef std::function<void(sfListProperty::SPtr listPtr,
int index,
int count)>
ListRemoveHandler;
525 virtual sfObject::SPtr
GetObject(uint32_t
id)
const = 0;
540 virtual sfUser::SPtr
GetUser(uint32_t
id)
const = 0;
547 virtual const std::list<sfUser::SPtr>&
GetUsers()
const = 0;
573 sfObject::SPtr objPtr)
const = 0;
581 virtual void Create(sfObject::SPtr objPtr) = 0;
592 virtual void Create(sfObject::SPtr objPtr, sfObject::SPtr parentPtr,
int childIndex) = 0;
601 virtual void Create(std::list<sfObject::SPtr>& objectList) = 0;
612 virtual void Create(std::list<sfObject::SPtr>& objectList, sfObject::SPtr parentPtr,
int childIndex) = 0;
619 virtual void Delete(sfObject::SPtr objPtr) = 0;
Definition: sfSession.h:39
std::function< void(sfProperty::SPtr propertyPtr)> PropertyChangeHandler
Definition: sfSession.h:114
virtual ObjectEventHandle RegisterOnLockHandler(LockHandler handler)=0
std::function< void(sfListProperty::SPtr listPtr, int index, int count)> ListAddHandler
Definition: sfSession.h:123
virtual void UnregisterOnUserLeaveHandler(UserEventHandle eventPtr)=0
std::function< void(sfObject::SPtr objPtr)> LockOwnerChangeHandler
Definition: sfSession.h:84
std::function< void(sfObject::SPtr objPtr, int childIndex)> ParentChangeHandler
Definition: sfSession.h:107
std::function< void(sfListProperty::SPtr listPtr, int index, int count)> ListRemoveHandler
Definition: sfSession.h:132
virtual uint32_t GetObjectCount(const sfName &type) const =0
virtual ObjectIndexEventHandle RegisterOnParentChangeHandler(ParentChangeHandler handler)=0
virtual void UnregisterOnAcknowledgeSubscriptionHandler(AcknowledgeSubscriptionEventHandle eventPtr)=0
virtual void SubscribeToChildren(sfObject::SPtr objPtr)=0
virtual sfUser::SPtr LocalUser() const =0
ksEvent< sfListProperty::SPtr &, int &, int & >::SPtr ListPropertyEventHandle
Definition: sfSession.h:199
virtual void UnregisterOnLockHandler(ObjectEventHandle eventPtr)=0
std::function< void(sfObject::SPtr objPtr)> LockHandler
Definition: sfSession.h:70
virtual ObjectEventHandle RegisterOnUnlockHandler(UnlockHandler handler)=0
ksEvent< sfProperty::SPtr & >::SPtr PropertyEventHandle
Definition: sfSession.h:190
virtual void UnregisterOnUserJoinHandler(UserEventHandle eventPtr)=0
virtual ListPropertyEventHandle RegisterOnListAddHandler(ListAddHandler handler)=0
std::function< void(sfObject::SPtr objPtr)> DirectLockChangeHandler
Definition: sfSession.h:91
std::function< void(sfDictionaryProperty::SPtr dictPtr, const sfName &key)> DictionaryRemoveHandler
Definition: sfSession.h:99
ksEvent< sfUser::SPtr & >::SPtr UserEventHandle
Definition: sfSession.h:183
virtual void Create(sfObject::SPtr objPtr, sfObject::SPtr parentPtr, int childIndex)=0
virtual DictionaryPropertyEventHandle RegisterOnDictionaryRemoveHandler(DictionaryRemoveHandler handler)=0
virtual ObjectEventHandle RegisterOnDirectLockChangeHandler(DirectLockChangeHandler handler)=0
virtual void SetUserColor(float r, float g, float b)=0
std::function< void(sfObject::SPtr objPtr)> ConfirmDeleteHandler
Definition: sfSession.h:63
virtual void UnregisterOnParentChangeHandler(ObjectIndexEventHandle eventPtr)=0
ksEvent< sfDictionaryProperty::SPtr &, sfName & >::SPtr DictionaryPropertyEventHandle
Definition: sfSession.h:207
virtual size_t NumObjects() const =0
std::function< void(sfObject::SPtr objPtr)> UnlockHandler
Definition: sfSession.h:77
virtual sfName TryGetStringFromTable(uint32_t id)=0
virtual void UnregisterOnListRemoveHandler(ListPropertyEventHandle eventPtr)=0
virtual uint32_t LocalUserId()=0
ksEvent< sfObject::SPtr & >::SPtr ObjectEventHandle
Definition: sfSession.h:168
virtual void UnregisterOnDirectLockChangeHandler(ObjectEventHandle eventPtr)=0
virtual UserEventHandle RegisterOnUserColorChangeHandler(UserColorChangeHandler handler)=0
virtual void UnregisterOnUnlockHandler(ObjectEventHandle eventPtr)=0
virtual UserEventHandle RegisterOnUserJoinHandler(UserJoinHandler handler)=0
virtual bool IsConnected() const =0
virtual ListPropertyEventHandle RegisterOnListRemoveHandler(ListRemoveHandler handler)=0
std::function< void(sfObject::SPtr objPtr)> DeleteHandler
Definition: sfSession.h:56
virtual bool EditsDisabled() const =0
virtual void UnregisterOnCreateHandler(ObjectIndexEventHandle eventPtr)=0
virtual sfObject::SPtr GetObject(uint32_t id) const =0
virtual void UnregisterOnListAddHandler(ListPropertyEventHandle eventPtr)=0
ksEvent< sfObject::SPtr &, int & >::SPtr ObjectIndexEventHandle
Definition: sfSession.h:176
virtual void UnsubscribeFromChildren(sfObject::SPtr objPtr)=0
virtual ~sfSession()
Definition: sfSession.h:220
virtual void UnregisterOnConfirmDeleteHandler(ObjectEventHandle eventPtr)=0
virtual AcknowledgeSubscriptionEventHandle RegisterOnAcknowledgeSubscriptionHandler(AcknowledgeSubscriptionHandler handler)=0
virtual void UnregisterOnUserColorChangeHandler(UserEventHandle eventPtr)=0
std::function< void(sfObject::SPtr objPtr, int childIndex)> CreateHandler
Definition: sfSession.h:49
virtual sfName GetStringFromTable(uint32_t id)=0
std::function< void(sfUser::SPtr userPtr)> UserLeaveHandler
Definition: sfSession.h:146
virtual void Create(std::list< sfObject::SPtr > &objectList, sfObject::SPtr parentPtr, int childIndex)=0
virtual PropertyEventHandle RegisterOnPropertyChangeHandler(PropertyChangeHandler handler)=0
virtual void UnregisterOnPropertyChangeHandler(PropertyEventHandle eventPtr)=0
virtual void Create(std::list< sfObject::SPtr > &objectList)=0
virtual UserEventHandle RegisterOnUserLeaveHandler(UserLeaveHandler handler)=0
virtual const std::list< sfObject::SPtr > & GetRootObjects() const =0
virtual ObjectEventHandle RegisterOnConfirmDeleteHandler(ConfirmDeleteHandler handler)=0
std::function< void(sfUser::SPtr userPtr)> UserColorChangeHandler
Definition: sfSession.h:153
virtual ObjectIndexEventHandle RegisterOnCreateHandler(CreateHandler handler)=0
virtual void UnregisterOnDeleteHandler(ObjectEventHandle eventPtr)=0
virtual void UnregisterOnDictionaryRemoveHandler(DictionaryPropertyEventHandle eventPtr)=0
std::function< void(sfUser::SPtr userPtr)> UserJoinHandler
Definition: sfSession.h:139
virtual void Create(sfObject::SPtr objPtr)=0
virtual uint32_t GetObjectLimit(const sfName &type) const =0
virtual void UnregisterOnLockOwnerChangeHandler(ObjectEventHandle eventPtr)=0
virtual uint32_t GetStringTableId(const sfName &str)=0
virtual ObjectEventHandle RegisterOnLockOwnerChangeHandler(LockOwnerChangeHandler handler)=0
virtual const std::list< sfUser::SPtr > & GetUsers() const =0
virtual sfUser::SPtr GetUser(uint32_t id) const =0
ksEvent< bool &, sfObject::SPtr & >::SPtr AcknowledgeSubscriptionEventHandle
Definition: sfSession.h:215
virtual void Delete(sfObject::SPtr objPtr)=0
virtual ObjectEventHandle RegisterOnDeleteHandler(DeleteHandler handler)=0
std::function< void(bool, sfObject::SPtr objPtr)> AcknowledgeSubscriptionHandler
Definition: sfSession.h:161
virtual std::vector< sfReferenceProperty::SPtr > GetReferences(sfObject::SPtr objPtr) const =0
Definition: sfDictionaryProperty.h:24