Ice 3.7 C++11 API Reference
Application.h
Go to the documentation of this file.
1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #ifndef GLACIER2_APPLICATION_H
6 #define GLACIER2_APPLICATION_H
7 
8 #include <Ice/Application.h>
9 
10 #include <Glacier2/Session.h>
11 #include <Glacier2/Router.h>
12 
13 namespace Glacier2
14 {
15 
22 class GLACIER2_API RestartSessionException : public IceUtil::ExceptionHelper<RestartSessionException>
23 {
24 public:
25 
26  virtual std::string ice_id() const;
27 #ifndef ICE_CPP11_MAPPING
28  virtual RestartSessionException* ice_clone() const;
29 #endif
30 };
31 
59 {
60 public:
61 
67 
68 #ifdef ICE_CPP11_MAPPING
69  Application(const Application&) = delete;
70  Application& operator=(const Application&) = delete;
71 #endif
72 
80  virtual Glacier2::SessionPrxPtr createSession() = 0;
81 
99  virtual int runWithSession(int argc, char* argv[]) = 0;
100 
108  virtual void sessionDestroyed();
109 
117  static void restart();
118 
123  static Glacier2::RouterPrxPtr router();
124 
129  static Glacier2::SessionPrxPtr session();
130 
138  static std::string categoryForClient();
139 
145  static Ice::Identity createCallbackIdentity(const std::string&);
146 
152  static Ice::ObjectPrxPtr addWithUUID(const Ice::ObjectPtr& servant);
153 
158  static Ice::ObjectAdapterPtr objectAdapter();
159 
160 protected:
161 
165  virtual int doMain(int argc, char* argv[], const Ice::InitializationData& initData, int version);
166 
167 private:
168 
169  bool doMain(Ice::StringSeq&, const Ice::InitializationData&, int&, int);
170 
171  //
172  // Run should not be overridden for Glacier2::Application. Instead
173  // runWithSession should be used.
174  //
175  int run(int, char*[])
176  {
177  // This shouldn't be called.
178  assert(false);
179  return 0;
180  }
181 
182  static Ice::ObjectAdapterPtr _adapter;
183  static Glacier2::RouterPrxPtr _router;
184  static Glacier2::SessionPrxPtr _session;
185  static std::string _category;
186 };
187 
188 }
189 
190 #endif
Glacier2::Application::operator=
Application & operator=(const Application &)=delete
GLACIER2_API
#define GLACIER2_API
Definition: PermissionsVerifierF.h:50
Glacier2::RestartSessionException
This exception is raised if the session should be restarted.
Definition: Application.h:23
Glacier2::Application::restart
static void restart()
Called to restart the application's Glacier2 session.
Glacier2::Application::categoryForClient
static std::string categoryForClient()
Returns the category to be used in the identities of all of the client's callback objects.
Glacier2::Application::createSession
virtual Glacier2::SessionPrxPtr createSession()=0
Creates a new Glacier2 session.
ICE_ENUM
#define ICE_ENUM(CLASS, ENUMERATOR)
Definition: Config.h:360
Glacier2::Application::session
static Glacier2::SessionPrxPtr session()
Returns the Glacier2 session proxy.
Glacier2::Application::Application
Application(const Application &)=delete
Glacier2::Application::Application
Application(Ice::SignalPolicy=Ice::SignalPolicy ::HandleSignals)
Initializes an instance that calls Ice::Communicator::shutdown if a signal is received.
Ice::Application
Singleton helper class that simplifies Ice initialization, finalization and signal handling.
Definition: Application.h:40
Glacier2
Definition: PermissionsVerifier.h:66
Glacier2::Application::createCallbackIdentity
static Ice::Identity createCallbackIdentity(const std::string &)
Create a new Ice identity for callback objects with the given identity name field.
Application.h
Router.h
Glacier2::Application::sessionDestroyed
virtual void sessionDestroyed()
Called when the session refresh thread detects that the session has been destroyed.
Ice::StringSeq
::std::vector<::std::string > StringSeq
A sequence of strings.
Definition: BuiltinSequences.h:96
Glacier2::Application::runWithSession
virtual int runWithSession(int argc, char *argv[])=0
Called once the communicator has been initialized and the Glacier2 session has been established.
Glacier2::Application::objectAdapter
static Ice::ObjectAdapterPtr objectAdapter()
Creates an object adapter for callback objects.
Glacier2::RestartSessionException::ice_id
virtual std::string ice_id() const
Returns the type ID of this exception.
Glacier2::Application::doMain
virtual int doMain(int argc, char *argv[], const Ice::InitializationData &initData, int version)
Helper function that implements the application logic.
Glacier2::Application
An extension of Ice::Application that makes it easy to write Glacier2 applications.
Definition: Application.h:59
IceUtil::ExceptionHelper
Helper template for the implementation of Ice::Exception.
Definition: Exception.h:128
Ice::InitializationData
Encapsulates data to initialize a communicator.
Definition: Initialize.h:279
Session.h
Ice::Identity
The identity of an Ice object.
Definition: Identity.h:67
Ice::SignalPolicy
SignalPolicy
Determines how the Application class handles signals.
Definition: Application.h:27
Glacier2::Application::addWithUUID
static Ice::ObjectPrxPtr addWithUUID(const Ice::ObjectPtr &servant)
Adds a servant to the callback object adapter's Active Servant Map with a UUID.
Glacier2::Application::router
static Glacier2::RouterPrxPtr router()
Returns the Glacier2 router proxy.