summaryrefslogtreecommitdiff
path: root/quellcode/versuch2/CPXEventSupplier_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'quellcode/versuch2/CPXEventSupplier_i.cpp')
-rwxr-xr-xquellcode/versuch2/CPXEventSupplier_i.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/quellcode/versuch2/CPXEventSupplier_i.cpp b/quellcode/versuch2/CPXEventSupplier_i.cpp
new file mode 100755
index 0000000..4ceef8e
--- /dev/null
+++ b/quellcode/versuch2/CPXEventSupplier_i.cpp
@@ -0,0 +1,14 @@
+#include "CPXEventSupplier_i.h"
+#include <tao/PortableServer/PS_CurrentC.h>
+
+CPXEventSupplier_i::CPXEventSupplier_i(CORBA::ORB_ptr orb) : orb_(CORBA::ORB::_duplicate(orb)){
+ //nothing
+}
+
+void CPXEventSupplier_i::disconnect_push_supplier() throw(CORBA::SystemException){
+ CORBA::Object_var obj = orb_->resolve_initial_references("POACurrent");
+ PortableServer::Current_var current = PortableServer::Current::_narrow(obj.in());
+ PortableServer::POA_var poa = current->get_POA();
+ PortableServer::ObjectId_var objectId = current->get_object_id();
+ poa->deactivate_object(objectId.in());
+}