21 #include "cafNotNull.h" 22 #include "cafRpcApplication.h" 23 #include "cafSession.h" 41 virtual int portNumber()
const = 0;
42 virtual void run() = 0;
43 virtual void quit() = 0;
44 virtual bool running()
const = 0;
46 virtual std::shared_ptr<Document> document(
const std::string& documentId,
const caffa::Session* session ) = 0;
47 virtual std::shared_ptr<const Document> document(
const std::string& documentId,
49 virtual std::list<std::shared_ptr<Document>> documents(
const caffa::Session* session ) = 0;
50 virtual std::list<std::shared_ptr<const Document>> documents(
const caffa::Session* session )
const = 0;
52 virtual std::list<std::shared_ptr<caffa::Document>> defaultDocuments()
const = 0;
54 bool requiresValidSession()
const;
55 void setRequiresValidSession(
bool requiresValidSession );
57 virtual bool readyForSession( caffa::Session::Type type )
const = 0;
59 virtual bool hasActiveSessions()
const = 0;
62 virtual void changeSession( caffa::not_null<caffa::Session*> session, caffa::Session::Type newType ) = 0;
63 virtual void destroySession(
const std::string& sessionUuid ) = 0;
66 virtual void onStartup() {}
67 virtual void onShutdown() {}
70 bool m_requiresValidSession;
AppCapability
Application capability Defines what type of application it is. These flags can be combined...
Definition: cafApplication.h:46
Definition: cafSession.h:81
Definition: cafRpcServerApplication.h:33
Definition: cafSession.h:97
Abstract class representing an application session.
Definition: cafSession.h:35
Definition: cafRpcApplication.h:27
Main Caffa namespace.
Definition: cafApplication.h:30