1 // $TOG: MMDB.C /main/8 1998/04/17 11:42:22 mgreess $
4 #include "UAS_Exceptions.hh"
5 #include "UAS_Buffer.hh"
6 #include "UAS_Common.hh"
8 #include "MMDB_Factory.hh"
10 #include "Managers/CatMgr.hh"
11 #include "Registration.hh"
13 MMDB::MMDB(const UAS_String &infolibPath)
14 : f_initialized (0), fInfoLibPath (infolibPath)
16 f_oliasDB = &MMDB_Factory::olias_db();
17 f_infoLib = f_oliasDB->openInfoLib((char *) infolibPath, 0,
18 MMDB_Factory::genInfolibName());
24 //f_oliasDB->closeInfoLib (f_infoLib->get_info_lib_name());
25 f_oliasDB->closeInfoLib (f_infoLib->get_info_lib_uid());
31 MMDB::infoLibPath () {
38 return UAS_String(f_infoLib->get_info_lib_uid());
47 info_lib *lib = f_infoLib;
48 int bad_count = lib->bad_infobases();
54 (char*)UAS_String(CATGETS(Set_UAS_MMDB, 1, "The following bookcases are not valid:"));
55 buf.write (x, sizeof(char), strlen(x));
56 for (int i = 1; i <= bad_count; i++)
58 buf.write ("\n", sizeof(char), 1);
59 x = lib->get_bad_infobase_path(i);
60 buf.write (x, sizeof(char), strlen(x));
61 buf.write ("/", sizeof(char), 1);
62 x = lib->get_bad_infobase_name(i);
63 buf.write (x, sizeof(char), strlen(x));
65 buf.write ("\0", sizeof(char), 1);
66 msg.fErrorMsg = buf.data();
67 UAS_Common::send_message (msg);
74 MMDB::infobase (const char *locator)
76 info_base *ib = f_infoLib->getInfobaseByComponent((const char *)locator,
79 throw (CASTEXCEPT Exception());