Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_Callback_i.hxx
1 //  File      : SALOMEDS_Study_i.hxx
2 //  Created   : Wed Feb 26 11:27:37 2003
3 //  Author    : Yves FRICAUD
4 //  Project   : SALOME
5 //  Module    : SALOMEDS
6 //  Copyright : Open CASCADE 2003
7
8 #ifndef __SALOMEDS_CALLBACK_I_H__
9 #define __SALOMEDS_CALLBACK_I_H__
10
11 // IDL headers
12 #include <SALOMEconfig.h>
13 #include CORBA_SERVER_HEADER(SALOMEDS)
14
15 class SALOMEDS_Callback_i: public POA_SALOMEDS::Callback,
16                            public PortableServer::RefCountServantBase {
17
18 private:
19   CORBA::ORB_var _orb;
20   SALOMEDS::UseCaseBuilder_var _builder;
21
22 public:
23
24  SALOMEDS_Callback_i(SALOMEDS::UseCaseBuilder_ptr builder, CORBA::ORB_ptr orb) {
25    _orb = CORBA::ORB::_duplicate(orb);
26    _builder = SALOMEDS::UseCaseBuilder::_duplicate(builder);
27  }
28
29  virtual void OnAddSObject(SALOMEDS::SObject_ptr theObject) {
30    if(!_builder->_is_nil() && !theObject->_is_nil()) _builder->Append(theObject);
31  }
32
33  virtual void OnRemoveSObject(SALOMEDS::SObject_ptr theObject) {
34    if(!_builder->_is_nil() && !theObject->_is_nil()) _builder->Remove(theObject);
35  }
36
37 };
38
39 #endif