MESSAGE("GenericObj_i::Destroy "<<this<<"; myRefCounter = "<<myRefCounter)
if(--myRefCounter <= 0){
PortableServer::ObjectId_var anObjectId = myPOA->servant_to_id(this);
+ BeforeDeactivate();
myPOA->deactivate_object(anObjectId.in());
_remove_ref();
}
}
+
+void GenericObj_i::BeforeDeactivate()
+{
+}
GenericObj_i(PortableServer::POA_ptr thePOA = PortableServer::POA::_nil());
// The function is used implicetly in "_this" function
virtual PortableServer::POA_ptr _default_POA();
+
public: // Follow functions is IDL defined
/*! Increase the reference count (mark as used by another object).*/
virtual void Register();
/*! Decrease the reference count (release by another object).*/
virtual void Destroy();
+
+ protected:
+ virtual void BeforeDeactivate();
};
};