Classes | Namespaces

Server_Main.h File Reference

#include "ace/ACE.h"
#include "tao/orbconf.h"
#include "tao/Utils/Server_Main.cpp"
Include dependency graph for Server_Main.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TAO::Utils::Server_Main< SERVANT >

Namespaces

namespace  TAO
 

Define symbolic names for the ORB collocation strategies.


namespace  TAO::Utils

Detailed Description

Id:
Server_Main.h 76551 2007-01-24 13:42:44Z johnnyw

Declares a generic object that acts as "main" for a CORBA server.

Author:
Dale Wilson <wilson_d@ociweb.com>

This object supports creation of a relatively simple CORBA server. The object implements "main" for a process. A single servant is created and initialized as the process begins execution. The lifetime of this initial servant is the lifetime of the process. The servant is free to create other servants as necessary. The servant can capture command line options. A callback method in the ORB event loop allows the servant to act asynchronously if necessary. The callback method allows the servant to request process termination and specify the status to be returned from the process.

The application should create a C/C++ main that looks something like: include <tao/Utils/Server_Main.h> include "Xyzzy_i.h" int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { Server_Main<Xyzzy_i> servant ("Xyzzy"); return servant.run(argc, argv); }

The servant implementation (Xyzzy_i in this case) must implement the following methods: Xyzzy_i (); // null constructor ~Xyzzy_i (); // destructor int parse_args (int argc, char * argv[]); int init (CORBA::ORB_ptr orb ); int idle(int &result); int fini (void); const char * identity () const;

parse_args, self_register, self_unregister return 0 if ok, nonzero for error. idle returns 0 to continue execution; nonzero to exit -- returning "result" from the process identity provides a string to identify this servant in log messages.

Definition in file Server_Main.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines