Salome HOME
PR: binaries generation : remove duplicate rules
[modules/yacs.git] / src / SALOMEDS / SALOMEDS_Callback_i.hxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SALOMEDS_Study_i.hxx
8 //  Author : Yves FRICAUD
9 //  Module : SALOME
10
11 #ifndef __SALOMEDS_CALLBACK_I_H__
12 #define __SALOMEDS_CALLBACK_I_H__
13
14 // IDL headers
15 #include <SALOMEconfig.h>
16 #include CORBA_SERVER_HEADER(SALOMEDS)
17
18 class SALOMEDS_Callback_i: public virtual POA_SALOMEDS::Callback,
19                            public virtual PortableServer::RefCountServantBase 
20 {
21 private:
22   SALOMEDS::UseCaseBuilder_var _builder;
23
24 public:
25
26  SALOMEDS_Callback_i(SALOMEDS::UseCaseBuilder_ptr theBuilder) {
27    _builder = SALOMEDS::UseCaseBuilder::_duplicate(theBuilder);
28  }
29
30  virtual void OnAddSObject(SALOMEDS::SObject_ptr theObject) {
31    if(!_builder->_is_nil() && !theObject->_is_nil()) _builder->Append(theObject);
32  }
33
34  virtual void OnRemoveSObject(SALOMEDS::SObject_ptr theObject) {
35    if(!_builder->_is_nil() && !theObject->_is_nil()) _builder->Remove(theObject);
36  }
37
38 };
39
40 #endif