1
2
3 #include <CORBA.h>
4 #include <mico/throw.h>
5
6 #ifndef __AUFGABE2_H__
7 #define __AUFGABE2_H__
8
9
10
11
12 namespace Aufgabe2 {
13
14
15 class Server;
16 typedef Server *Server_ptr;
17 typedef Server_ptr ServerRef;
18 typedef ObjVar< Server > Server_var;
19 typedef ObjOut< Server > Server_out;
20
21 }
22
23
24
25
26
27
28 namespace Aufgabe2 {
29
30
31
32
33
34 class Server :
35 virtual public CORBA::Object
36 {
37 public:
38 virtual ~Server();
39
40 #ifdef HAVE_TYPEDEF_OVERLOAD
41 typedef Server_ptr _ptr_type;
42 typedef Server_var _var_type;
43 #endif
44
45 static Server_ptr _narrow( CORBA::Object_ptr obj );
46 static Server_ptr _narrow( CORBA::AbstractBase_ptr obj );
47 static Server_ptr _duplicate( Server_ptr _obj )
48 {
49 CORBA::Object::_duplicate (_obj);
50 return _obj;
51 }
52
53 static Server_ptr _nil()
54 {
55 return 0;
56 }
57
58 virtual void *_narrow_helper( const char *repoid );
59
60 virtual char* reverse( const char* message ) = 0;
61
62 protected:
63 Server() {};
64 private:
65 Server( const Server& );
66 void operator=( const Server& );
67 };
68
69
70 class Server_stub:
71 virtual public Server
72 {
73 public:
74 virtual ~Server_stub();
75 char* reverse( const char* message );
76
77 private:
78 void operator=( const Server_stub& );
79 };
80
81 #ifndef MICO_CONF_NO_POA
82
83 class Server_stub_clp :
84 virtual public Server_stub,
85 virtual public PortableServer::StubBase
86 {
87 public:
88 Server_stub_clp (PortableServer::POA_ptr, CORBA::Object_ptr);
89 virtual ~Server_stub_clp ();
90 char* reverse( const char* message );
91
92 protected:
93 Server_stub_clp ();
94 private:
95 void operator=( const Server_stub_clp & );
96 };
97
98 #endif // MICO_CONF_NO_POA
99
100 }
101
102
103 #ifndef MICO_CONF_NO_POA
104
105
106
107 namespace POA_Aufgabe2 {
108
109
110 class Server : virtual public PortableServer::StaticImplementation
111 {
112 public:
113 virtual ~Server ();
114 Aufgabe2::Server_ptr _this ();
115 bool dispatch (CORBA::StaticServerRequest_ptr);
116 virtual void invoke (CORBA::StaticServerRequest_ptr);
117 virtual CORBA::Boolean _is_a (const char *);
118 virtual CORBA::InterfaceDef_ptr _get_interface ();
119 virtual CORBA::RepositoryId _primary_interface (const PortableServer::ObjectId &, PortableServer::POA_ptr);
120
121 virtual void * _narrow_helper (const char *);
122 static Server * _narrow (PortableServer::Servant);
123 virtual CORBA::Object_ptr _make_stub (PortableServer::POA_ptr, CORBA::Object_ptr);
124
125 virtual char* reverse( const char* message ) = 0;
126
127 protected:
128 Server () {};
129
130 private:
131 Server (const Server &);
132 void operator= (const Server &);
133 };
134
135 }
136
137
138 #endif // MICO_CONF_NO_POA
139
140 extern CORBA::StaticTypeInfo *_marshaller_Aufgabe2_Server;
141
142 #endif
143