PolicyS.cpp

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: PolicyS.cpp 76995 2007-02-11 12:51:42Z johnnyw $
00004 
00005 // ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
00006 // TAO and the TAO IDL Compiler have been developed by:
00007 //       Center for Distributed Object Computing
00008 //       Washington University
00009 //       St. Louis, MO
00010 //       USA
00011 //       http://www.cs.wustl.edu/~schmidt/doc-center.html
00012 // and
00013 //       Distributed Object Computing Laboratory
00014 //       University of California at Irvine
00015 //       Irvine, CA
00016 //       USA
00017 //       http://doc.ece.uci.edu/
00018 // and
00019 //       Institute for Software Integrated Systems
00020 //       Vanderbilt University
00021 //       Nashville, TN
00022 //       USA
00023 //       http://www.isis.vanderbilt.edu/
00024 //
00025 // Information about TAO is available at:
00026 //     http://www.cs.wustl.edu/~schmidt/TAO.html
00027 
00028 
00029 // TAO_IDL - Generated from
00030 // be\be_codegen.cpp:599
00031 
00032 #ifndef _TAO_IDL_ORIG_POLICYS_CPP_
00033 #define _TAO_IDL_ORIG_POLICYS_CPP_
00034 
00035 
00036 #include "tao/AnyTypeCode/TypeCode.h"
00037 #include "tao/AnyTypeCode/Any.h"
00038 #include "tao/PortableServer/PolicyS.h"
00039 #include "tao/PortableServer/Operation_Table_Perfect_Hash.h"
00040 #include "tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h"
00041 #include "tao/PortableServer/Upcall_Command.h"
00042 #include "tao/PortableServer/Upcall_Wrapper.h"
00043 #include "tao/PortableServer/Basic_SArguments.h"
00044 #include "tao/PortableServer/Object_SArgument_T.h"
00045 #include "tao/PortableServer/Special_Basic_SArguments.h"
00046 #include "tao/PortableServer/UB_String_SArguments.h"
00047 #include "tao/PortableServer/TypeCode_SArg_Traits.h"
00048 #include "tao/PortableServer/Object_SArg_Traits.h"
00049 #include "tao/PortableServer/get_arg.h"
00050 #include "tao/Special_Basic_Arguments.h"
00051 #include "tao/UB_String_Arguments.h"
00052 #include "tao/TAO_Server_Request.h"
00053 #include "tao/ORB_Core.h"
00054 #include "tao/Profile.h"
00055 #include "tao/Stub.h"
00056 #include "tao/IFR_Client_Adapter.h"
00057 #include "tao/Object_T.h"
00058 #include "tao/CDR.h"
00059 #include "tao/operation_details.h"
00060 #include "tao/PortableInterceptor.h"
00061 #include "tao/Basic_Arguments.h"
00062 #include "tao/Object_Argument_T.h"
00063 #include "ace/Dynamic_Service.h"
00064 #include "ace/Malloc_Allocator.h"
00065 
00066 // TAO_IDL - Generated from
00067 // be\be_visitor_arg_traits.cpp:69
00068 
00069 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00070 
00071 // Arg traits specializations.
00072 namespace TAO
00073 {
00074 
00075 #if !defined (_CORBA_POLICY__SARG_TRAITS_SS_)
00076 #define _CORBA_POLICY__SARG_TRAITS_SS_
00077 
00078   template<>
00079   class  SArg_Traits<CORBA::Policy>
00080     : public
00081         Object_SArg_Traits_T<
00082             CORBA::Policy_ptr,
00083             CORBA::Policy_var,
00084             CORBA::Policy_out,
00085             TAO::Any_Insert_Policy_Stream <CORBA::Policy_ptr>
00086           >
00087   {
00088   };
00089 
00090 #endif /* end #if !defined */
00091 }
00092 
00093 
00094 // TAO_IDL - Generated from
00095 // be\be_visitor_arg_traits.cpp:69
00096 
00097 // Arg traits specializations.
00098 namespace TAO
00099 {
00100 
00101 #if !defined (_CORBA_POLICY__ARG_TRAITS_SS_)
00102 #define _CORBA_POLICY__ARG_TRAITS_SS_
00103 
00104   template<>
00105   class  Arg_Traits<CORBA::Policy>
00106     : public
00107         Object_Arg_Traits_T<
00108             CORBA::Policy_ptr,
00109             CORBA::Policy_var,
00110             CORBA::Policy_out,
00111             TAO::Objref_Traits<CORBA::Policy>,
00112             TAO::Any_Insert_Policy_Stream <CORBA::Policy_ptr>
00113           >
00114   {
00115   };
00116 
00117 #endif /* end #if !defined */
00118 }
00119 
00120 
00121 // TAO_IDL - Generated from
00122 // be\be_interface.cpp:1455
00123 
00124 class TAO_CORBA_Policy_Perfect_Hash_OpTable
00125   : public TAO_Perfect_Hash_OpTable
00126 {
00127 private:
00128   unsigned int hash (const char *str, unsigned int len);
00129 
00130 public:
00131   const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
00132 };
00133 
00134 /* C++ code produced by gperf version 2.8 (ACE version) */
00135 /* Command-line: c:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_Policy_Perfect_Hash_OpTable -N lookup  */
00136 unsigned int
00137 TAO_CORBA_Policy_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
00138 {
00139   static const unsigned char asso_values[] =
00140     {
00141 #if defined (ACE_MVS)
00142      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00143      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00144      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00145      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00146      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00147      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00148      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00149      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00150      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00151      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00152      22, 22, 22, 22, 22, 22, 22, 22, 22,  0,
00153      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00154      22, 22, 22, 22, 22, 22, 22, 22, 22,  0,
00155      22,  0,  0,  5, 22, 22, 22, 22, 22, 22,
00156      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00157      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00158      22, 22, 22,  0, 22, 22, 22, 22,  0, 22,
00159      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00160      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00161      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00162      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00163      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00164      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00165      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00166      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00167      22, 22, 22, 22, 22, 22,
00168 #else
00169      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00170      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00171      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00172      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00173      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00174      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00175      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00176      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00177      22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00178      22, 22, 22, 22, 22,  0, 22,  0, 22,  0,
00179       0,  5, 22, 22, 22, 22, 22, 22, 22, 22,
00180      22, 22, 22, 22, 22, 22,  0, 22, 22, 22,
00181      22,  0, 22, 22, 22, 22, 22, 22,
00182 #endif /* ACE_MVS */
00183     };
00184   return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
00185 }
00186 
00187 const TAO_operation_db_entry *
00188 TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
00189 {
00190   enum
00191     {
00192       TOTAL_KEYWORDS = 7,
00193       MIN_WORD_LENGTH = 4,
00194       MAX_WORD_LENGTH = 16,
00195       MIN_HASH_VALUE = 4,
00196       MAX_HASH_VALUE = 21,
00197       HASH_VALUE_RANGE = 18,
00198       DUPLICATES = 0,
00199       WORDLIST_SIZE = 11
00200     };
00201 
00202   static const TAO_operation_db_entry  wordlist[] =
00203     {
00204       {"",0,0},{"",0,0},{"",0,0},{"",0,0},
00205       {"copy", &POA_CORBA::Policy::copy_skel, &POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::copy},
00206       {"_is_a", &POA_CORBA::Policy::_is_a_skel, 0},
00207       {"",0,0},
00208       {"destroy", &POA_CORBA::Policy::destroy_skel, &POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::destroy},
00209       {"",0,0},{"",0,0},
00210       {"_component", &POA_CORBA::Policy::_component_skel, 0},
00211       {"",0,0},{"",0,0},
00212       {"_non_existent", &POA_CORBA::Policy::_non_existent_skel, 0},
00213       {"",0,0},
00214       {"_interface", &POA_CORBA::Policy::_interface_skel, 0},
00215       {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
00216       {"_get_policy_type", &POA_CORBA::Policy::_get_policy_type_skel, &POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::_get_policy_type},
00217     };
00218 
00219   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
00220     {
00221       unsigned int key = hash (str, len);
00222 
00223       if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
00224         {
00225           const char *s = wordlist[key].opname;
00226 
00227           if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
00228             return &wordlist[key];
00229         }
00230     }
00231   return 0;
00232 }
00233 
00234 static TAO_CORBA_Policy_Perfect_Hash_OpTable tao_CORBA_Policy_optable;
00235 ///////////////////////////////////////////////////////////////////////
00236 //            Strategized Proxy Broker Implementation
00237 //
00238 
00239 // TAO_IDL - Generated from
00240 // be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
00241 
00242 // Factory function Implementation.
00243 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker *
00244 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::the_TAO_Policy_Strategized_Proxy_Broker (void)
00245 {
00246   static POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker
00247   strategized_proxy_broker;
00248 
00249   return &strategized_proxy_broker;
00250 }
00251 
00252 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::_TAO_Policy_Strategized_Proxy_Broker (void)
00253 {
00254 }
00255 
00256 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::~_TAO_Policy_Strategized_Proxy_Broker (void)
00257 {
00258 }
00259 
00260 TAO::Collocation_Strategy
00261 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::get_strategy (
00262     CORBA::Object_ptr obj
00263 
00264   )
00265 {
00266   TAO::Collocation_Strategy strategy =
00267     TAO_ORB_Core::collocation_strategy (obj);
00268 
00269   return strategy;
00270 }
00271 
00272 void
00273 POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::dispatch (
00274     CORBA::Object_ptr obj,
00275     CORBA::Object_out forward_obj,
00276     TAO::Argument ** args,
00277     int num_args,
00278     const char * op,
00279     size_t op_len,
00280     TAO::Collocation_Strategy strategy
00281 
00282   )
00283 {
00284   TAO::Direct_Collocation_Upcall_Wrapper collocation_upcall_wrapper;
00285   collocation_upcall_wrapper.upcall (
00286     obj,
00287     forward_obj,
00288     args,
00289     num_args,
00290     op,
00291     op_len,
00292     strategy
00293    );
00294 }
00295 
00296 //
00297 //        End Strategized Proxy Broker Implementation
00298 ///////////////////////////////////////////////////////////////////////
00299 
00300 // TAO_IDL - Generated from
00301 // be\be_visitor_interface/interface_ss.cpp:999
00302 
00303 TAO::Collocation_Proxy_Broker *
00304 CORBA__TAO_Policy_Proxy_Broker_Factory_function (CORBA::Object_ptr)
00305 {
00306   return
00307     ::POA_CORBA::_TAO_Policy_Strategized_Proxy_Broker::the_TAO_Policy_Strategized_Proxy_Broker ();
00308 }
00309 
00310 int
00311 CORBA__TAO_Policy_Proxy_Broker_Factory_Initializer (size_t)
00312 {
00313   CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer =
00314     CORBA__TAO_Policy_Proxy_Broker_Factory_function;
00315 
00316   return 0;
00317 }
00318 
00319 static int
00320 CORBA__TAO_Policy_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
00321   CORBA__TAO_Policy_Proxy_Broker_Factory_Initializer (
00322       reinterpret_cast<size_t> (CORBA__TAO_Policy_Proxy_Broker_Factory_Initializer)
00323     );
00324 
00325 
00326 
00327 ///////////////////////////////////////////////////////////////////////
00328 //                 Direct Proxy  Implementation
00329 //
00330 
00331 POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::_TAO_Policy_Direct_Proxy_Impl (void)
00332 {}
00333 
00334 POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::~_TAO_Policy_Direct_Proxy_Impl (void)
00335 {}
00336 
00337 // TAO_IDL - Generated from
00338 // be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
00339 
00340 void
00341 POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::_get_policy_type (
00342     TAO_Abstract_ServantBase  *servant,
00343     TAO::Argument ** args,
00344     int
00345 
00346   )
00347 {
00348   ((TAO::Arg_Traits< ::CORBA::PolicyType>::ret_val *) args[0])->arg () =
00349     dynamic_cast<POA_CORBA::Policy_ptr>
00350       (servant)
00351     ->policy_type (
00352 
00353         );
00354 }
00355 // TAO_IDL - Generated from
00356 // be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
00357 
00358 void
00359 POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::copy (
00360     TAO_Abstract_ServantBase  *servant,
00361     TAO::Argument ** args,
00362     int
00363 
00364   )
00365 {
00366   ((TAO::Arg_Traits< CORBA::Policy>::ret_val *) args[0])->arg () =
00367     dynamic_cast<POA_CORBA::Policy_ptr>
00368       (servant)
00369     ->copy (
00370 
00371         );
00372 }
00373 // TAO_IDL - Generated from
00374 // be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
00375 
00376 void
00377 POA_CORBA::_TAO_Policy_Direct_Proxy_Impl::destroy (
00378     TAO_Abstract_ServantBase  *servant,
00379     TAO::Argument **,
00380     int
00381   )
00382 {
00383   dynamic_cast<POA_CORBA::Policy_ptr>
00384     (servant)
00385   ->destroy (
00386 
00387       );
00388 }
00389 
00390 
00391 //
00392 //           End Direct Proxy Implementation
00393 ///////////////////////////////////////////////////////////////////////
00394 
00395 // TAO_IDL - Generated from
00396 // be\be_visitor_interface/interface_ss.cpp:103
00397 
00398 POA_CORBA::Policy::Policy (void)
00399   : TAO_ServantBase ()
00400 {
00401   this->optable_ = &tao_CORBA_Policy_optable;
00402 }
00403 
00404 POA_CORBA::Policy::Policy (const Policy& rhs)
00405   : TAO_Abstract_ServantBase (rhs),
00406     TAO_ServantBase (rhs)
00407 {
00408 }
00409 
00410 POA_CORBA::Policy::~Policy (void)
00411 {
00412 }
00413 namespace POA_CORBA
00414 {
00415 
00416 
00417   // TAO_IDL - Generated from
00418   // be\be_visitor_operation/upcall_command_ss.cpp:127
00419 
00420   class _get_policy_type_Policy
00421     : public TAO::Upcall_Command
00422   {
00423   public:
00424     inline _get_policy_type_Policy (
00425       POA_CORBA::Policy * servant,
00426       TAO_Operation_Details const * operation_details,
00427       TAO::Argument * const args[])
00428       : servant_ (servant)
00429       , operation_details_ (operation_details)
00430       , args_ (args)
00431     {
00432     }
00433 
00434     virtual void execute (void)
00435     {
00436       TAO::SArg_Traits< ::CORBA::PolicyType>::ret_arg_type retval =
00437         TAO::Portable_Server::get_ret_arg< ::CORBA::PolicyType> (
00438           this->operation_details_,
00439           this->args_);
00440 
00441 
00442       retval =
00443         this->servant_->policy_type (
00444           );
00445 
00446     }
00447 
00448   private:
00449     POA_CORBA::Policy * const servant_;
00450     TAO_Operation_Details const * const operation_details_;
00451     TAO::Argument * const * const args_;
00452   };
00453 
00454 }
00455 
00456 
00457 // TAO_IDL - Generated from
00458 // be\be_visitor_operation/operation_ss.cpp:192
00459 
00460 void POA_CORBA::Policy::_get_policy_type_skel (
00461     TAO_ServerRequest & server_request,
00462     void * TAO_INTERCEPTOR (servant_upcall),
00463     void * servant
00464 
00465   )
00466 {
00467 
00468 
00469 #if TAO_HAS_INTERCEPTORS == 1
00470   static CORBA::TypeCode_ptr const * const exceptions = 0;
00471   static CORBA::ULong const nexceptions = 0;
00472 #endif /* TAO_HAS_INTERCEPTORS */
00473 
00474   TAO::SArg_Traits< ::CORBA::PolicyType>::ret_val retval;
00475 
00476   TAO::Argument * const args[] =
00477     {
00478       &retval
00479     };
00480 
00481   static size_t const nargs = 1;
00482 
00483   POA_CORBA::Policy * const impl =
00484     static_cast<POA_CORBA::Policy *> (servant);
00485 
00486   _get_policy_type_Policy command (
00487     impl,
00488     server_request.operation_details (),
00489     args);
00490 
00491   TAO::Upcall_Wrapper upcall_wrapper;
00492   upcall_wrapper.upcall (server_request
00493                          , args
00494                          , nargs
00495                          , command
00496 #if TAO_HAS_INTERCEPTORS == 1
00497                          , servant_upcall
00498                          , exceptions
00499                          , nexceptions
00500 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00501                         );
00502 
00503 }
00504 namespace POA_CORBA
00505 {
00506 
00507 
00508   // TAO_IDL - Generated from
00509   // be\be_visitor_operation/upcall_command_ss.cpp:127
00510 
00511   class copy_Policy
00512     : public TAO::Upcall_Command
00513   {
00514   public:
00515     inline copy_Policy (
00516       POA_CORBA::Policy * servant,
00517       TAO_Operation_Details const * operation_details,
00518       TAO::Argument * const args[])
00519       : servant_ (servant)
00520       , operation_details_ (operation_details)
00521       , args_ (args)
00522     {
00523     }
00524 
00525     virtual void execute (void)
00526     {
00527       TAO::SArg_Traits< CORBA::Policy>::ret_arg_type retval =
00528         TAO::Portable_Server::get_ret_arg< CORBA::Policy> (
00529           this->operation_details_,
00530           this->args_);
00531 
00532 
00533       retval =
00534         this->servant_->copy (
00535           );
00536 
00537     }
00538 
00539   private:
00540     POA_CORBA::Policy * const servant_;
00541     TAO_Operation_Details const * const operation_details_;
00542     TAO::Argument * const * const args_;
00543   };
00544 
00545 }
00546 
00547 
00548 // TAO_IDL - Generated from
00549 // be\be_visitor_operation/operation_ss.cpp:192
00550 
00551 void POA_CORBA::Policy::copy_skel (
00552     TAO_ServerRequest & server_request,
00553     void * TAO_INTERCEPTOR (servant_upcall),
00554     void * servant
00555 
00556   )
00557 {
00558 
00559 
00560 #if TAO_HAS_INTERCEPTORS == 1
00561   static CORBA::TypeCode_ptr const * const exceptions = 0;
00562   static CORBA::ULong const nexceptions = 0;
00563 #endif /* TAO_HAS_INTERCEPTORS */
00564 
00565   TAO::SArg_Traits< CORBA::Policy>::ret_val retval;
00566 
00567   TAO::Argument * const args[] =
00568     {
00569       &retval
00570     };
00571 
00572   static size_t const nargs = 1;
00573 
00574   POA_CORBA::Policy * const impl =
00575     static_cast<POA_CORBA::Policy *> (servant);
00576 
00577   copy_Policy command (
00578     impl,
00579     server_request.operation_details (),
00580     args);
00581 
00582   TAO::Upcall_Wrapper upcall_wrapper;
00583   upcall_wrapper.upcall (server_request
00584                          , args
00585                          , nargs
00586                          , command
00587 #if TAO_HAS_INTERCEPTORS == 1
00588                          , servant_upcall
00589                          , exceptions
00590                          , nexceptions
00591 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00592                         );
00593 
00594 }
00595 namespace POA_CORBA
00596 {
00597 
00598 
00599   // TAO_IDL - Generated from
00600   // be\be_visitor_operation/upcall_command_ss.cpp:127
00601 
00602   class destroy_Policy
00603     : public TAO::Upcall_Command
00604   {
00605   public:
00606     inline destroy_Policy (
00607       POA_CORBA::Policy * servant)
00608       : servant_ (servant)
00609     {
00610     }
00611 
00612     virtual void execute (void)
00613     {
00614       this->servant_->destroy (
00615         );
00616 
00617     }
00618 
00619   private:
00620     POA_CORBA::Policy * const servant_;
00621   };
00622 
00623 }
00624 
00625 
00626 // TAO_IDL - Generated from
00627 // be\be_visitor_operation/operation_ss.cpp:192
00628 
00629 void POA_CORBA::Policy::destroy_skel (
00630     TAO_ServerRequest & server_request,
00631     void * TAO_INTERCEPTOR (servant_upcall),
00632     void * servant
00633 
00634   )
00635 {
00636 
00637 
00638 #if TAO_HAS_INTERCEPTORS == 1
00639   static CORBA::TypeCode_ptr const * const exceptions = 0;
00640   static CORBA::ULong const nexceptions = 0;
00641 #endif /* TAO_HAS_INTERCEPTORS */
00642 
00643   TAO::SArg_Traits< void>::ret_val retval;
00644 
00645   TAO::Argument * const args[] =
00646     {
00647       &retval
00648     };
00649 
00650   static size_t const nargs = 1;
00651 
00652   POA_CORBA::Policy * const impl =
00653     static_cast<POA_CORBA::Policy *> (servant);
00654 
00655   destroy_Policy command (
00656     impl);
00657 
00658   TAO::Upcall_Wrapper upcall_wrapper;
00659   upcall_wrapper.upcall (server_request
00660                          , args
00661                          , nargs
00662                          , command
00663 #if TAO_HAS_INTERCEPTORS == 1
00664                          , servant_upcall
00665                          , exceptions
00666                          , nexceptions
00667 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00668                         );
00669 
00670 }
00671 
00672 // TAO_IDL - Generated from
00673 // be\be_visitor_interface/interface_ss.cpp:169
00674 
00675 namespace POA_CORBA
00676 {
00677 
00678 
00679   // TAO_IDL - Generated from
00680   // be\be_visitor_operation/upcall_command_ss.cpp:127
00681 
00682   class _is_a_Policy_Upcall_Command
00683     : public TAO::Upcall_Command
00684   {
00685   public:
00686     inline _is_a_Policy_Upcall_Command (
00687       POA_CORBA::Policy * servant,
00688       TAO_Operation_Details const * operation_details,
00689       TAO::Argument * const args[])
00690       : servant_ (servant)
00691       , operation_details_ (operation_details)
00692       , args_ (args)
00693     {
00694     }
00695 
00696     virtual void execute (void)
00697     {
00698       TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
00699         TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> (
00700           this->operation_details_,
00701           this->args_);
00702 
00703       TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
00704         TAO::Portable_Server::get_in_arg< CORBA::Char *> (
00705           this->operation_details_,
00706           this->args_,
00707           1);
00708 
00709 
00710       retval =
00711         this->servant_-> _is_a (
00712           arg_1
00713          );
00714 
00715     }
00716 
00717   private:
00718     POA_CORBA::Policy * const servant_;
00719     TAO_Operation_Details const * const operation_details_;
00720     TAO::Argument * const * const args_;
00721   };
00722 
00723 }
00724 void POA_CORBA::Policy::_is_a_skel (
00725     TAO_ServerRequest & server_request,
00726     void * TAO_INTERCEPTOR (servant_upcall),
00727     void * servant
00728 
00729   )
00730 {
00731 
00732 
00733 #if TAO_HAS_INTERCEPTORS == 1
00734   static CORBA::TypeCode_ptr const * const exceptions = 0;
00735   static CORBA::ULong const nexceptions = 0;
00736 #endif /* TAO_HAS_INTERCEPTORS */
00737 
00738   TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
00739   TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_repository_id;
00740 
00741   TAO::Argument * const args[] =
00742     {
00743       &retval,
00744       &_tao_repository_id
00745     };
00746 
00747   static size_t const nargs = 2;
00748 
00749   POA_CORBA::Policy * const impl =
00750     static_cast<POA_CORBA::Policy *> (servant);
00751 
00752   _is_a_Policy_Upcall_Command command (
00753     impl,
00754     server_request.operation_details (),
00755     args);
00756 
00757   TAO::Upcall_Wrapper upcall_wrapper;
00758   upcall_wrapper.upcall (server_request
00759                          , args
00760                          , nargs
00761                          , command
00762 #if TAO_HAS_INTERCEPTORS == 1
00763                          , servant_upcall
00764                          , exceptions
00765                          , nexceptions
00766 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00767                         );
00768 
00769 }
00770 
00771 namespace POA_CORBA
00772 {
00773 
00774 
00775   // TAO_IDL - Generated from
00776   // be\be_visitor_operation/upcall_command_ss.cpp:127
00777 
00778   class _non_existent_Policy_Upcall_Command
00779     : public TAO::Upcall_Command
00780   {
00781   public:
00782     inline _non_existent_Policy_Upcall_Command (
00783       POA_CORBA::Policy * servant,
00784       TAO_Operation_Details const * operation_details,
00785       TAO::Argument * const args[])
00786       : servant_ (servant)
00787       , operation_details_ (operation_details)
00788       , args_ (args)
00789     {
00790     }
00791 
00792     virtual void execute (void)
00793     {
00794       TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
00795         TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> (
00796           this->operation_details_,
00797           this->args_);
00798 
00799 
00800       retval =
00801         this->servant_-> _non_existent (
00802           );
00803 
00804     }
00805 
00806   private:
00807     POA_CORBA::Policy * const servant_;
00808     TAO_Operation_Details const * const operation_details_;
00809     TAO::Argument * const * const args_;
00810   };
00811 
00812 }
00813 void POA_CORBA::Policy::_non_existent_skel (
00814     TAO_ServerRequest & server_request,
00815     void * TAO_INTERCEPTOR (servant_upcall),
00816     void * servant
00817 
00818   )
00819 {
00820 
00821 
00822 #if TAO_HAS_INTERCEPTORS == 1
00823   static CORBA::TypeCode_ptr const * const exceptions = 0;
00824   static CORBA::ULong const nexceptions = 0;
00825 #endif /* TAO_HAS_INTERCEPTORS */
00826 
00827   TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
00828 
00829   TAO::Argument * const args[] =
00830     {
00831       &retval
00832     };
00833 
00834   static size_t const nargs = 1;
00835 
00836   POA_CORBA::Policy * const impl =
00837     static_cast<POA_CORBA::Policy *> (servant);
00838 
00839   _non_existent_Policy_Upcall_Command command (
00840     impl,
00841     server_request.operation_details (),
00842     args);
00843 
00844   TAO::Upcall_Wrapper upcall_wrapper;
00845   upcall_wrapper.upcall (server_request
00846                          , args
00847                          , nargs
00848                          , command
00849 #if TAO_HAS_INTERCEPTORS == 1
00850                          , servant_upcall
00851                          , exceptions
00852                          , nexceptions
00853 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00854                         );
00855 
00856 }
00857 
00858 
00859 
00860 // TAO_IDL - Generated from
00861 // be\be_visitor_interface/interface_ss.cpp:393
00862 
00863 
00864 
00865 void POA_CORBA::Policy::_interface_skel (
00866     TAO_ServerRequest & server_request,
00867     void * /* servant_upcall */,
00868     void * servant
00869 
00870   )
00871 {
00872   TAO_IFR_Client_Adapter *_tao_adapter =
00873     ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
00874         TAO_ORB_Core::ifr_client_adapter_name ()
00875       );
00876 
00877   if (_tao_adapter == 0)
00878     {
00879       throw ::CORBA::INTF_REPOS (CORBA::OMGVMCID | 1, CORBA::COMPLETED_NO);
00880     }
00881 
00882   POA_CORBA::Policy * const impl =
00883     static_cast<POA_CORBA::Policy *> (servant);
00884   CORBA::InterfaceDef_ptr _tao_retval =
00885     impl->_get_interface ();
00886 
00887   server_request.init_reply ();
00888   TAO_OutputCDR &_tao_out = *server_request.outgoing ();
00889 
00890   CORBA::Boolean const _tao_result =
00891     _tao_adapter->interfacedef_cdr_insert (
00892         _tao_out,
00893         _tao_retval
00894       );
00895 
00896   _tao_adapter->dispose (_tao_retval);
00897 
00898   if (_tao_result == 0)
00899     {
00900       throw ::CORBA::MARSHAL ();
00901     }
00902 }
00903 
00904 namespace POA_CORBA
00905 {
00906 
00907 
00908   // TAO_IDL - Generated from
00909   // be\be_visitor_operation/upcall_command_ss.cpp:127
00910 
00911   class _get_component_Policy_Upcall_Command
00912     : public TAO::Upcall_Command
00913   {
00914   public:
00915     inline _get_component_Policy_Upcall_Command (
00916       POA_CORBA::Policy * servant,
00917       TAO_Operation_Details const * operation_details,
00918       TAO::Argument * const args[])
00919       : servant_ (servant)
00920       , operation_details_ (operation_details)
00921       , args_ (args)
00922     {
00923     }
00924 
00925     virtual void execute (void)
00926     {
00927       TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
00928         TAO::Portable_Server::get_ret_arg< ::CORBA::Object> (
00929           this->operation_details_,
00930           this->args_);
00931 
00932 
00933       retval =
00934         this->servant_-> _get_component (
00935           );
00936 
00937     }
00938 
00939   private:
00940     POA_CORBA::Policy * const servant_;
00941     TAO_Operation_Details const * const operation_details_;
00942     TAO::Argument * const * const args_;
00943   };
00944 
00945 }
00946 void POA_CORBA::Policy::_component_skel (
00947     TAO_ServerRequest & server_request,
00948     void * TAO_INTERCEPTOR (servant_upcall),
00949     void * servant
00950 
00951   )
00952 {
00953 
00954 
00955 #if TAO_HAS_INTERCEPTORS == 1
00956   static CORBA::TypeCode_ptr const * const exceptions = 0;
00957   static CORBA::ULong const nexceptions = 0;
00958 #endif /* TAO_HAS_INTERCEPTORS */
00959 
00960   TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
00961 
00962   TAO::Argument * const args[] =
00963     {
00964       &retval
00965     };
00966 
00967   static size_t const nargs = 1;
00968 
00969   POA_CORBA::Policy * const impl =
00970     static_cast<POA_CORBA::Policy *> (servant);
00971 
00972   _get_component_Policy_Upcall_Command command (
00973     impl,
00974     server_request.operation_details (),
00975     args);
00976 
00977   TAO::Upcall_Wrapper upcall_wrapper;
00978   upcall_wrapper.upcall (server_request
00979                          , args
00980                          , nargs
00981                          , command
00982 #if TAO_HAS_INTERCEPTORS == 1
00983                          , servant_upcall
00984                          , exceptions
00985                          , nexceptions
00986 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00987                         );
00988 
00989 }
00990 
00991 CORBA::Boolean POA_CORBA::Policy::_is_a (
00992     const char* value
00993 
00994   )
00995 {
00996   return
00997     (
00998       !ACE_OS::strcmp (
00999           value,
01000           "IDL:omg.org/CORBA/Policy:1.0"
01001         ) ||
01002       !ACE_OS::strcmp (
01003           value,
01004           "IDL:omg.org/CORBA/Object:1.0"
01005         )
01006     );
01007 }
01008 
01009 const char* POA_CORBA::Policy::_interface_repository_id (void) const
01010 {
01011   return "IDL:omg.org/CORBA/Policy:1.0";
01012 }
01013 
01014 // TAO_IDL - Generated from
01015 // be\be_visitor_interface/interface_ss.cpp:940
01016 
01017 void POA_CORBA::Policy::_dispatch (
01018     TAO_ServerRequest & req,
01019     void * servant_upcall
01020 
01021   )
01022 {
01023   this->synchronous_upcall_dispatch (req,
01024                                      servant_upcall,
01025                                      this
01026                                     );
01027 }
01028 
01029 // TAO_IDL - Generated from
01030 // be\be_visitor_interface/interface_ss.cpp:891
01031 
01032 CORBA::Policy *
01033 POA_CORBA::Policy::_this (void)
01034 {
01035   TAO_Stub *stub = this->_create_stub ();
01036 
01037   TAO_Stub_Auto_Ptr safe_stub (stub);
01038   CORBA::Object_ptr tmp = CORBA::Object::_nil ();
01039 
01040   CORBA::Boolean _tao_opt_colloc =
01041     stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
01042 
01043   ACE_NEW_RETURN (
01044       tmp,
01045       CORBA::Object (stub, _tao_opt_colloc, this),
01046       0
01047     );
01048 
01049   CORBA::Object_var obj = tmp;
01050   (void) safe_stub.release ();
01051 
01052   typedef ::CORBA::Policy STUB_SCOPED_NAME;
01053   return
01054     TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
01055         obj.in (),
01056         CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer
01057       );
01058 }
01059 
01060 #endif /* ifndef */
01061 
01062 
01063 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Sun Jan 27 13:23:43 2008 for TAO_PortableServer by doxygen 1.3.6