summaryrefslogtreecommitdiff
path: root/TAO/utils/NamingViewer/NamingObject.h
blob: ce25732064162f1f1b64ba070035ebd16d0e7a34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// $Id$
// NamingObject.h: interface for the CNamingObject class.

//////////////////////////////////////////////////////////////////////

#if !defined(AFX_NAMINGOBJECT_H__1F34ADC4_B0D8_11D3_BF27_00C0F03C565A__INCLUDED_)
#define AFX_NAMINGOBJECT_H__1F34ADC4_B0D8_11D3_BF27_00C0F03C565A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "orbsvcs/orbsvcs/CosNamingC.h"

class CNamingObject
{
public:
  CNamingObject (CosNaming::Name& Name,
                 CORBA::Object_ptr pObject,
                 bool Context);
  ~CNamingObject (void);

  CosNaming::NamingContext_ptr NamingContext (void);

  // Returns a duplicated naming context ptr if this is a context or
  // nil if its not.
  CORBA::Object_ptr Object (void);

  // returns a non duplicated object reference
  CosNaming::Name& Name (void);
  // returns the name of the object

  bool IsContext (void) { return m_Context; }

  // Returns true if this is a context
private:
  CORBA::Object_var m_Object;
  CosNaming::Name m_Name;
  bool m_Context;
};

#endif // !defined(AFX_NAMINGOBJECT_H__1F34ADC4_B0D8_11D3_BF27_00C0F03C565A__INCLUDED_)