5 #include "SALOME_NamingService.hxx"
6 #include "SALOME_DataTypeCatalog.hh"
10 int main(int argc,char **argv)
13 CosNaming::NamingContext_var _rootContext;
14 CORBA::Object_var objVar, objVarN;
19 orb = CORBA::ORB_init (argc, argv);
22 // Get CORBA reference of the catalog
23 SALOME_NamingService NS(orb);
24 CORBA::Object_var objVarN = NS.Resolve("/Kernel/DataTypeCatalog");
26 SALOME_DataTypeCatalog::DataCatalog_var Catalogue = SALOME_DataTypeCatalog::DataCatalog::_narrow(objVarN);
27 MESSAGE("Distant catalog of data type found")
30 SALOME_DataTypeCatalog::ListOfDataTypeName_var list_data_type = Catalogue->GetDataTypeList();
32 for (unsigned int ind = 0; ind < list_data_type->length();ind++)
34 MESSAGE("Data Type list : " << list_data_type[ind]);
39 // obtain interface_read of the first data type defined in the catalog
41 interf =Catalogue->GetDataInterfaceRead(list_data_type[0]);
42 MESSAGE("Interface read pour " << list_data_type[0] << " : " << interf);
46 // obtain interface_read of the last data type defined in the catalog
47 interf =Catalogue->GetDataInterfaceRead(list_data_type[list_data_type->length() -1]);
48 MESSAGE("Interface read pour " << list_data_type[list_data_type->length() -1] << " : " << interf);
50 // obtain interface_write of the first data type defined in the catalog
51 interf =Catalogue->GetDataInterfaceWrite(list_data_type[0]);
52 MESSAGE("Interface write pour " << list_data_type[0] << " : " << interf);
56 // obtain interface_read of the last data type defined in the catalog
57 interf =Catalogue->GetDataInterfaceWrite(list_data_type[list_data_type->length() -1]);
58 MESSAGE("Interface write pour " << list_data_type[list_data_type->length() -1] << " : " << interf);
60 //obtain parents name of the last data type defined in the catalog
61 SALOME_DataTypeCatalog::ListOfDataTypeName_var list_data_type1 = Catalogue->GetDataTypeParents(list_data_type[list_data_type->length() -1]);
64 if (Catalogue->isDerivedFrom(list_data_type[0],list_data_type[list_data_type->length() -1]))
66 MESSAGE("The type " << list_data_type[list_data_type->length() -1] << " derived from " << list_data_type[0] );
70 MESSAGE("The type " << list_data_type[list_data_type->length() -1] << " is not derived from " << list_data_type[0]);
74 catch(SALOME_DataTypeCatalog::NotFound &){
75 INFOS("SALOME_DataTypeCatalog::NotFound");
77 catch(CORBA::SystemException&) {
78 INFOS("Caught CORBA::SystemException.")
80 catch (CosNaming::NamingContext::CannotProceed &) {
81 INFOS("CosNaming::NamingContext::CannotProceed")
83 catch (CosNaming::NamingContext::NotFound &) {
84 INFOS("CosNaming::NamingContext::NotFound")
86 catch (CosNaming::NamingContext::InvalidName &) {
87 INFOS("CosNaming::NamingContext::InvalidName")
89 catch (CosNaming::NamingContext::AlreadyBound &) {
90 INFOS("CosNaming::NamingContext::AlreadyBound")
92 catch (CosNaming::NamingContext::NotEmpty &) {
93 INFOS("CosNaming::NamingContext::NotEmpty")
96 catch(CORBA::Exception &sysEx) {
97 INFOS("Caught CORBA::Exception.")