1 : //==============================================================================
2 : // File <$/src/cpp/dev/idlc/interface.cpp>
3 : // This file is part of YaOrb : Yet Another Object Request Broker,
4 : // Copyright (c) 2000-2003, Marc Alff.
5 : //
6 : // This program is free software; you can redistribute it and/or
7 : // modify it under the terms of the GNU General Public License
8 : // as published by the Free Software Foundation; either version 2
9 : // of the License, or (at your option) any later version.
10 : //
11 : // This program is distributed in the hope that it will be useful,
12 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : // GNU General Public License for more details.
15 : //
16 : // You should have received a copy of the GNU General Public License
17 : // along with this program; if not, write to the Free Software
18 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 : //
20 : //==============================================================================
21 :
22 : #include "src/cpp/dev/idlc/interface.h"
23 :
24 865 : Interface::Interface(InterfaceAttribute attrib, const String& name)
25 : : Symbol(name, interfaceSymbol),
26 : _attrib(attrib),
27 : _inheritance(),
28 1730 : _defined(false)
29 : {
30 865 : }
31 :
32 865 : Interface::~Interface()
33 : {
34 : _inheritance.clear() ; // NOT clearAndDestroy !
35 0 : }
36 :
37 1256 : bool Interface::IsDefined(void) const
38 : {
39 : return _defined ;
40 : }
41 :
42 863 : void Interface::Define(void)
43 : {
44 863 : _defined = true ;
45 : }
46 :
47 681 : void Interface::addInheritance(Interface * superclass)
48 : {
49 : _inheritance.addTail(superclass) ;
50 : }
51 :
52 475 : InterfaceAttribute Interface::GetAttribute(void) const
53 : {
54 : return _attrib ;
55 : }
56 :
57 392 : const InterfaceList& Interface::GetInheritance(void) const
58 : {
59 : return _inheritance ;
60 48 : }
61 48 :
|