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 public:
37 virtual ~Server();
38
39 #ifdef HAVE_TYPEDEF_OVERLOAD
40 typedef Server_ptr _ptr_type;
41 typedef Server_var _var_type;
42 #endif
43
44 static Server_ptr _narrow( CORBA::Object_ptr obj );
45 static Server_ptr _narrow( CORBA::AbstractBase_ptr obj );
46 static Server_ptr _duplicate( Server_ptr _obj )
47 {
48 CORBA::Object::_duplicate (_obj);
49 return _obj;
50 }
51
52 static Server_ptr _nil()
53 {
54 return 0;
55 }
56
57 virtual void *_narrow_helper( const char *repoid );
58
59 virtual char* reverse( const char* message ) = 0;
60
61 protected:
62 Server() {};
63 private:
64 Server( const Server& );
65 void operator=( const Server& );
66 };
67
68
69 class Server_stub:
70 virtual public Server
{
71 public:
72 virtual ~Server_stub();
73 char* reverse( const char* message );
74
75 private:
76 void operator=( const Server_stub& );
77 };
78
79 #ifndef MICO_CONF_NO_POA
80
81 class Server_stub_clp :
82 virtual public Server_stub,
83 virtual public PortableServer::StubBase
{
84 public:
85 Server_stub_clp (PortableServer::POA_ptr, CORBA::Object_ptr);
86 virtual ~Server_stub_clp ();
87 char* reverse( const char* message );
88
89 protected:
90 Server_stub_clp ();
91 private:
92 void operator=( const Server_stub_clp & );
93 };
94
95 #endif // MICO_CONF_NO_POA
96
97 }
98
99
100 #ifndef MICO_CONF_NO_POA
101
102
103
104 namespace POA_Aufgabe2 {
105
106
107 class Server : virtual public PortableServer::StaticImplementation
{
108 public:
109 virtual ~Server ();
110 Aufgabe2::Server_ptr _this ();
111 bool dispatch (CORBA::StaticServerRequest_ptr);
112 virtual void invoke (CORBA::StaticServerRequest_ptr);
113 virtual CORBA::Boolean _is_a (const char *);
114 virtual CORBA::InterfaceDef_ptr _get_interface ();
115 virtual CORBA::RepositoryId _primary_interface (const PortableServer::ObjectId &, PortableServer::POA_ptr);
116
117 virtual void * _narrow_helper (const char *);
118 static Server * _narrow (PortableServer::Servant);
119 virtual CORBA::Object_ptr _make_stub (PortableServer::POA_ptr, CORBA::Object_ptr);
120
121 virtual char* reverse( const char* message ) = 0;
122
123 protected:
124 Server () {};
125
126 private:
127 Server (const Server &);
128 void operator= (const Server &);
129 };
130
131 }
132
133
134 #endif // MICO_CONF_NO_POA
135
136 extern CORBA::StaticTypeInfo *_marshaller_Aufgabe2_Server;
137
138 #endif
139
140