00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "ModuleDef.h"
00024
00025 #include "TypedefDef.h"
00026
00027 namespace Omniifr {
00028
00029 void ModuleDef_impl::uncheckedDestroy()
00030 {
00031 Contained_impl::uncheckedDestroy();
00032 Container_impl::uncheckedDestroy();
00033 }
00034
00035 Contained::Description* ModuleDef_impl::describe()
00036 {
00037 ModuleDescription_var moduledesc =new ModuleDescription();
00038 moduledesc->name = name();
00039 moduledesc->id = id();
00040 moduledesc->version = version();
00041 moduledesc->defined_in = definedInId();
00042
00043 CORBA::Contained::Description_var description =
00044 new CORBA::Contained::Description();
00045 description->kind = def_kind();
00046 description->value <<= moduledesc._retn();
00047
00048 return description._retn();
00049 }
00050
00051 bool ModuleDef_impl::canContain(DefinitionKind kind)
00052 {
00053 switch(kind)
00054 {
00055 CASE_TYPEDEF
00056 case dk_Constant:
00057 case dk_Exception:
00058 case dk_Interface:
00059 case dk_Value:
00060 case dk_ValueBox:
00061 case dk_Module:
00062 return true;
00063 default:
00064 return false;
00065 }
00066 }
00067
00068 void ModuleDef_impl::output(ostream &os)
00069 {
00070 outputSelf(os,"ModuleDef");
00071 os<<" ;;\n";
00072 outputContents(os);
00073 }
00074
00075 }