summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h
blob: f4d9e54b665b3fc239b5147fb1ac2a6d03e37f05 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// -*- C++ -*-

// $Id$

// ============================================================================
//
// = LIBRARY
//    TAO/orbsvcs/orbsvcs/IFRService
//
// = FILENAME
//    ExtAttributeDef_i.h
//
// = DESCRIPTION
//    ExtAttributeDef_i servant class.
//
// = AUTHOR
//    Jeff Parsons <j.parsons@vanderbilt.edu>
//
// ============================================================================

#ifndef TAO_EXTATTRIBUTEDEF_I_H
#define TAO_EXTATTRIBUTEDEF_I_H

#include "orbsvcs/IFRService/AttributeDef_i.h"
#include "orbsvcs/IFRService/ifr_service_export.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#if defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#endif /* _MSC_VER */

TAO_BEGIN_VERSIONED_NAMESPACE_DECL

class TAO_IFRService_Export TAO_ExtAttributeDef_i
  : public virtual TAO_AttributeDef_i
{
  // = TITLE
  //    TAO_ExtAttributeDef_i
  //
  // = DESCRIPTION
  //    Adds IDL3 extensions to AttributeDef.
  //
public:
  TAO_ExtAttributeDef_i (TAO_Repository_i *repo);
  // Constructor

  virtual ~TAO_ExtAttributeDef_i (void);
  // Destructor

  virtual CORBA::ExcDescriptionSeq *get_exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  CORBA::ExcDescriptionSeq *get_exceptions_i (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  virtual void get_exceptions (
      const CORBA::ExcDescriptionSeq &get_exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  void get_exceptions_i (
      const CORBA::ExcDescriptionSeq &get_exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  virtual CORBA::ExcDescriptionSeq *set_exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  CORBA::ExcDescriptionSeq *set_exceptions_i (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  virtual void set_exceptions (
      const CORBA::ExcDescriptionSeq &set_exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  void set_exceptions_i (
      const CORBA::ExcDescriptionSeq &set_exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  virtual CORBA::ExtAttributeDescription *describe_attribute (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  CORBA::ExtAttributeDescription *describe_attribute_i (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

  // Utility function that fills sequence elements for a
  // ComponentDescription.
  void fill_description (
      CORBA::ExtAttributeDescription &desc
      ACE_ENV_ARG_DECL
    )
    ACE_THROW_SPEC ((CORBA::SystemException));

private:
  /// Common code for the set and get varieties.

  void fill_exceptions (CORBA::ExcDescriptionSeq &exceptions,
                        const char *sub_section
                        ACE_ENV_ARG_DECL);

  void exceptions (const char *sub_section,
                   const CORBA::ExcDescriptionSeq &exceptions);
};

TAO_END_VERSIONED_NAMESPACE_DECL

#if defined(_MSC_VER)
#pragma warning(pop)
#endif /* _MSC_VER */

#endif /* TAO_EXTATTRIBUTEDEF_I_H */