Zurück Weiter

Der Server - server.cc

Der Source des Servers

  1. #define MICO_CONF_IMR
  2. #include
  3. #include
  4. #include "tty.h" /* tty.h wurde aus 'tty.idl' generiert */
  5. /* Objekt-Implementation fuer das Interface tty.
  6.   * Die Klasse tty_skel wurde vom IDL-Compiler generiert.
  7. */
  8. class tty_impl : virtual public tty_skel {
  9.     ofstream f; // private Daten dieser Objekt-Impl.
  10. public:
  11.    tty_impl(char* fname) :f(fname) {} // Konstruktor
  12.     ~tty_impl() { f.close();} // Destruktor
  13.   // die in "tty.idl" versprochene Operation:
  14.   void print(const char* msg) {
  15.     f << msg << endl; f.flush(); }
  16.   };
  17. int main(int argc, char* argv[]) {
  18.   CORBA::ORB_var orb;
  19.   CORBA::BOA_var boa;
  20.   tty_impl *obj_impl;
  21.   // Initialisierung
  22.   orb= CORBA::ORB_init(argc, argv, "mico-local-orb");
  23.   boa= orb->BOA_init(argc, argv, "mico-local-boa");
  24.   // Objekt-Implementation erzeugen
  25.   obj_impl= new tty_impl("/dev/tty");
  26.   // Objekt-Referenz (als String) ausgeben
  27.   cout << "Objekt-Referenz dieser tty-Implementation:" << endl;
  28.   cout << "\t" << orb->object_to_string(obj_impl) << endl;
  29.   cout.flush();
  30.   // Warten auf Klienten
  31.   boa->impl_is_ready (CORBA::ImplementationDef::_nil());
  32.   orb->run ();
  33.   return 0;
  34. }

Erklärung
Zeile 19: Die Print Methode zur Ausgabe des Strings
Zeile 31: ORB init
Zeile 32: BOA init
Zeile 38: Objekt Referenz wird ausgegeben.
Zeile 43: Warten auf den Client