1 // -*- Mode: C++; -*-
2 // Package : omniORB
3 // objectStub.h Created on: 04/09/2000
4 // Author : Sai-Lai Lo (sll)
5 //
6 // Copyright (C) 2000 AT&T Research Cambridge
7 //
8 // This file is part of the omniORB library
9 //
10 // The omniORB library is free software; you can redistribute it and/or
11 // modify it under the terms of the GNU Lesser General Public
12 // License as published by the Free Software Foundation; either
13 // version 2.1 of the License, or (at your option) any later version.
14 //
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library. If not, see http://www.gnu.org/licenses/
22 //
23 //
24 // Description:
25 //
26
OMNI_NAMESPACE_BEGIN(omni)27 OMNI_NAMESPACE_BEGIN(omni)
28
29 //////////////////////////////////////////////////////////////////////
30 class omni_is_a_CallDesc : public omniCallDescriptor {
31 public:
32 inline omni_is_a_CallDesc(const char* op,
33 int oplen, const char* i_1,
34 CORBA::Boolean upcall=0)
35 : omniCallDescriptor(lcfn, op, oplen, 0, 0, 0, upcall),
36 a_1((char*)i_1)
37 {}
38
39 inline ~omni_is_a_CallDesc() {
40 if (is_upcall()) { _CORBA_String_helper::dealloc(a_1); }
41 }
42
43 void marshalArguments(cdrStream&);
44 void unmarshalReturnedValues(cdrStream&);
45 void unmarshalArguments(cdrStream&);
46 void marshalReturnedValues(cdrStream&);
47
48 static void lcfn(omniCallDescriptor* cd, omniServant* servant);
49
50 char* a_1;
51 CORBA::Boolean result;
52 };
53
54 //////////////////////////////////////////////////////////////////////
55 class omni_non_existent_CallDesc : public omniCallDescriptor {
56 public:
57 inline omni_non_existent_CallDesc(const char* op, int oplen,
58 CORBA::Boolean upcall=0)
59 : omniCallDescriptor(lcfn, op, oplen, 0, 0, 0, upcall)
60 {}
61
62 void unmarshalReturnedValues(cdrStream&);
63 void marshalReturnedValues(cdrStream&);
64
65 static void lcfn(omniCallDescriptor* cd, omniServant* servant);
66
67 CORBA::Boolean result;
68 };
69
70
71 //////////////////////////////////////////////////////////////////////
72 class omni_interface_CallDesc : public omniCallDescriptor {
73 public:
74 inline omni_interface_CallDesc(const char* op, int oplen,
75 CORBA::Boolean upcall=0)
76 : omniCallDescriptor(lcfn, op, oplen, 0, 0, 0, upcall)
77 {}
78
79 void unmarshalReturnedValues(cdrStream&);
80 void marshalReturnedValues(cdrStream&);
81
result()82 inline CORBA::Object_ptr result() { return pd_result._retn(); }
83
84 static void lcfn(omniCallDescriptor* cd, omniServant* servant);
85
86 CORBA::Object_var pd_result;
87 };
88
89 OMNI_NAMESPACE_END(omni)
90