21 #ifndef __SALOMESDS_AUTOREFCOUNTPTR_HXX__
22 #define __SALOMESDS_AUTOREFCOUNTPTR_HXX__
26 #include "omniORB4/CORBA.h"
30 class POAHolder :
public virtual PortableServer::ServantBase
33 virtual PortableServer::POA_var
getPOA()
const = 0;
37 PortableServer::ObjectId_var id;
40 id=
poa->activate_object(
this);
42 catch(PortableServer::POA::ServantAlreadyActive& )
44 id=
poa->servant_to_id(
this);
46 CORBA::Object_var
ret(
poa->id_to_reference(
id));
53 PortableServer::ObjectId_var oid(
poa->servant_to_id(
this));
54 poa->deactivate_object(oid);
74 operator T *() {
return _ptr; }
75 operator const T *()
const {
return _ptr; }
84 template<
class T,
class U>
87 T *subPtr(autoSubPtr);
88 U *ptr(
dynamic_cast<U *
>(subPtr));
95 template<
class T,
class U>
98 T *subPtr(autoSubPtr);
99 U *ptr(
dynamic_cast<U *
>(subPtr));
101 throw Exception(
"DynamicCastSafe : U is not a subtype of T !");
121 operator T *() {
return _ptr; }
122 operator const T *()
const {
return _ptr; }
129 _ptr->enforcedRelease();
Definition: SALOMESDS_AutoRefCountPtr.hxx:61
void destroyPtr()
Definition: SALOMESDS_AutoRefCountPtr.hxx:79
const T * operator->() const
Definition: SALOMESDS_AutoRefCountPtr.hxx:71
AutoRefCountPtr(T *ptr=0)
Definition: SALOMESDS_AutoRefCountPtr.hxx:64
AutoRefCountPtr & operator=(T *ptr)
Definition: SALOMESDS_AutoRefCountPtr.hxx:69
T & operator*()
Definition: SALOMESDS_AutoRefCountPtr.hxx:72
~AutoRefCountPtr()
Definition: SALOMESDS_AutoRefCountPtr.hxx:65
AutoRefCountPtr & operator=(const AutoRefCountPtr &other)
Definition: SALOMESDS_AutoRefCountPtr.hxx:68
T * operator->()
Definition: SALOMESDS_AutoRefCountPtr.hxx:70
AutoRefCountPtr(const AutoRefCountPtr &other)
Definition: SALOMESDS_AutoRefCountPtr.hxx:63
T * retn()
Definition: SALOMESDS_AutoRefCountPtr.hxx:76
const T & operator*() const
Definition: SALOMESDS_AutoRefCountPtr.hxx:73
void referPtr(T *ptr)
Definition: SALOMESDS_AutoRefCountPtr.hxx:78
bool operator==(const T *other) const
Definition: SALOMESDS_AutoRefCountPtr.hxx:67
bool operator==(const AutoRefCountPtr &other) const
Definition: SALOMESDS_AutoRefCountPtr.hxx:66
T * _ptr
Definition: SALOMESDS_AutoRefCountPtr.hxx:81
Definition: SALOMESDS_AutoRefCountPtr.hxx:110
bool operator==(const T *other) const
Definition: SALOMESDS_AutoRefCountPtr.hxx:115
const T * operator->() const
Definition: SALOMESDS_AutoRefCountPtr.hxx:118
AutoServantPtr(T *ptr=0)
Definition: SALOMESDS_AutoRefCountPtr.hxx:112
T & operator*()
Definition: SALOMESDS_AutoRefCountPtr.hxx:119
~AutoServantPtr()
Definition: SALOMESDS_AutoRefCountPtr.hxx:113
T * operator->()
Definition: SALOMESDS_AutoRefCountPtr.hxx:117
void destroyPtr()
Definition: SALOMESDS_AutoRefCountPtr.hxx:125
bool operator==(const AutoServantPtr &other) const
Definition: SALOMESDS_AutoRefCountPtr.hxx:114
const T & operator*() const
Definition: SALOMESDS_AutoRefCountPtr.hxx:120
bool isNull() const
Definition: SALOMESDS_AutoRefCountPtr.hxx:123
T * _ptr
Definition: SALOMESDS_AutoRefCountPtr.hxx:132
AutoServantPtr & operator=(T *ptr)
Definition: SALOMESDS_AutoRefCountPtr.hxx:116
Definition: SALOMESDS_Exception.hxx:34
Definition: SALOMESDS_AutoRefCountPtr.hxx:31
CORBA::Object_var activate()
Definition: SALOMESDS_AutoRefCountPtr.hxx:34
void enforcedRelease()
Definition: SALOMESDS_AutoRefCountPtr.hxx:50
virtual PortableServer::POA_var getPOA() const =0
Definition: SALOMESDS_AutoRefCountPtr.hxx:29
SALOMESDS::AutoRefCountPtr< U > DynamicCast(typename SALOMESDS::AutoRefCountPtr< T > &autoSubPtr)
Definition: SALOMESDS_AutoRefCountPtr.hxx:85
SALOMESDS::AutoRefCountPtr< U > DynamicCastSafe(typename SALOMESDS::AutoRefCountPtr< T > &autoSubPtr)
Definition: SALOMESDS_AutoRefCountPtr.hxx:96
poa
Definition: SALOME_ContainerPy.py:377
ret
Definition: TestKernelHelpers.py:49