00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00042
00043
00044 #ifndef _CORBAUTILS_H
00045 #define _CORBAUTILS_H
00046
00047 #include <OpenTracker/dllinclude.h>
00048
00049 #include <OpenTracker/skeletons/OT_CORBA.hh>
00050 #include <OpenTracker/core/Event.h>
00051 #ifdef USE_OMNIEVENTS
00052 #include <omniEvents/CosEventComm.hh>
00053 #include <omniEvents/CosEventChannelAdmin.hh>
00054 #include <OpenTracker/skeletons/OT_EventChannel.hh>
00055 #endif //ENABLE_OMNIEVENTS
00056
00063 namespace ot {
00064
00065 class OPENTRACKER_API CORBAUtils
00066 {
00067
00068 public:
00069 #ifdef USE_OMNIEVENTS
00070 static void connectPushConsumer(const CosEventChannelAdmin::ProxyPushSupplier_var& proxy_supplier, const CosEventComm::PushConsumer_var& consumer_ref);
00071
00072
00073
00074 static void disconnectPushConsumer(const CosEventChannelAdmin::ProxyPushSupplier_var& proxy_supplier);
00075
00076 static CosEventChannelAdmin::ConsumerAdmin_var getConsumerAdmin(const CosEventChannelAdmin::EventChannel_var& channel);
00077
00078 static CosEventChannelAdmin::ProxyPushSupplier_var getProxyPushSupplier(const CosEventChannelAdmin::ConsumerAdmin_var& consumer_admin);
00079
00080 static CosEventChannelAdmin::ProxyPushConsumer_var getProxyPushConsumer(const CosEventChannelAdmin::SupplierAdmin_var& supplier_admin);
00081
00082 static CosEventChannelAdmin::SupplierAdmin_var getSupplierAdmin(const CosEventChannelAdmin::EventChannel_var& channel);
00083
00084 static void connectPushSupplier(const CosEventChannelAdmin::ProxyPushConsumer_var& proxy_consumer, const CosEventComm::PushSupplier_var& sptr);
00085
00086 static void disconnectPushSupplier(const CosEventChannelAdmin::ProxyPushConsumer_var& proxy_consumer);
00087 #endif //USE_OMNIEVENTS
00088
00089
00090
00091
00092
00093 static CORBA::Object_ptr getObjectReference(const CORBA::ORB_var& orb, const CosNaming::NamingContextExt::StringName_var& string_name);
00094
00095 static void bindObjectReferenceToName(const CORBA::ORB_var& orb, const CORBA::Object_var& obj, const CosNaming::NamingContextExt::StringName_var& string_name);
00096
00097 static CosNaming::NamingContextExt_var getRootContext(const CORBA::ORB_var& orb);
00098
00099 static CosNaming::NamingContext_var getContextFromName(const CosNaming::NamingContext_var& root_context, const CosNaming::Name_var& name);
00100
00101 static CosNaming::NamingContext_var getContext(const CosNaming::NamingContext_var& root_context, CosNaming::Name_var& name);
00102
00103 static PortableServer::ObjectId_var getObjectId(const CORBA::ORB_var& orb, const CosNaming::NamingContextExt::StringName_var& string_name);
00104 };
00105
00106 }
00107
00108 #endif
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124