diff options
author | bala <balanatarajan@users.noreply.github.com> | 2001-03-30 19:52:13 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2001-03-30 19:52:13 +0000 |
commit | a5197df7b6e3a16388daf2ada35fe0b79e313242 (patch) | |
tree | e5c13aa0ce5e1b7a1d9c51b9f62b377c1f40a804 /TAO/tao/BiDir_GIOP/BiDirGIOP.h | |
parent | d1dddf2c3da3259b21e7d1291b39eccb1c9330d7 (diff) | |
download | ATCD-a5197df7b6e3a16388daf2ada35fe0b79e313242.tar.gz |
ChangeLogTag: Fri Mar 30 13:43:56 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/BiDir_GIOP/BiDirGIOP.h')
-rw-r--r-- | TAO/tao/BiDir_GIOP/BiDirGIOP.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/TAO/tao/BiDir_GIOP/BiDirGIOP.h b/TAO/tao/BiDir_GIOP/BiDirGIOP.h new file mode 100644 index 00000000000..f1957a828fd --- /dev/null +++ b/TAO/tao/BiDir_GIOP/BiDirGIOP.h @@ -0,0 +1,74 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file BiDirGIOP.h + * + * $Id$ + * + * Dynamic loader object for BiDir GIOP + * + * + * @author Balachandran Natarajan <bala@cs.wustl.edu> + */ +//============================================================================= + +#ifndef TAO_BIDIR_GIOP_H +#define TAO_BIDIR_GIOP_H +#include "ace/pre.h" + +#include "bidirgiop_export.h" +#include "tao/BiDir_Adapter.h" +#include "ace/Service_Config.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +class TAO_BiDirGIOP_Export TAO_BiDirGIOP_Loader : public TAO_BiDir_Adapter +{ +public: + /// Constructor + TAO_BiDirGIOP_Loader (void); + + + /// Creates a factory and returns it. + virtual int activate (CORBA::ORB_ptr, + int argc, + char *argv [], + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)); + + /// Parse the policy sent by the ORB_Core + virtual int parse_policy (TAO_ORB_Core *orb_core, + CORBA::Policy_ptr policy, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)); + + /// Used to force the initialization of the ORB code. + static int Initializer (void); + +}; + +ACE_STATIC_SVC_DECLARE (TAO_BiDirGIOP_Loader) +ACE_FACTORY_DECLARE (TAO_BiDirGIOP, TAO_BiDirGIOP_Loader) + +#if defined(ACE_HAS_BROKEN_STATIC_CONSTRUCTORS) + +typedef int (*TAO_Module_Initializer) (void); + +static TAO_Module_Initializer +TAO_Requires_BiDirGIOP_Initializer = &TAO_BiDirGIOP_Loader::Initializer; + +#else + +static int +TAO_Requires_BiDirGIOP_Initializer = TAO_BiDirGIOP_Loader::Initializer (); + +#endif /* ACE_HAS_BROKEN_STATIC_CONSTRUCTORS */ + +#define TAO_BIDIRGIOP_SAFE_INCLUDE +#include "BiDirPolicyC.h" +#undef TAO_BIDIRGIOP_SAFE_INCLUDE + +#include "ace/post.h" +#endif /* TAO_DYNAMICANY_H */ |