1 // -*- Mode: C++; -*-
2 //                            Package   : omniORB
3 // CORBA_Current.h            Created on: 2001/08/17
4 //                            Author    : Duncan Grisby (dpg1)
5 //
6 //    Copyright (C) 2001 AT&T Laboratories 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 //    CORBA::Current
26 //
27 
28 #ifndef INSIDE_OMNIORB_CORBA_MODULE
29 #  error "Must only be #included by CORBA.h"
30 #endif
31 
32 //////////////////////////////////////////////////////////////////////
33 ///////////////////////////// Current         ////////////////////////
34 //////////////////////////////////////////////////////////////////////
35 
36 class Current;
37 typedef class Current* Current_ptr;
38 typedef Current_ptr CurrentRef;
39 
40 class Current : public Object {
41 public:
42 
43   typedef Current*                      _ptr_type;
44   typedef _CORBA_PseudoObj_Var<Current> _var_type;
45 
46   static Current_ptr _duplicate(Current_ptr);
47   static Current_ptr _narrow(Object_ptr);
48   static Current_ptr _nil();
49 
50   // omniORB internal.
51   static _core_attr const char* _PD_repoId;
52 
53 protected:
54   Current(int is_nil);
55   virtual ~Current();
56 
57 private:
58   Current(const Current&);
59   Current& operator=(const Current&);
60 };
61 
62 typedef Current::_var_type                            Current_var;
63 typedef _CORBA_PseudoObj_Member<Current, Current_var> Current_member;
64