1# corba.schema -- Corba Object Schema
2#	depends upon core.schema
3# $OpenLDAP$
4# $OpenLDAP$
5## This work is part of OpenLDAP Software <http://www.openldap.org/>.
6##
7## Copyright 1998-2021 The OpenLDAP Foundation.
8## All rights reserved.
9##
10## Redistribution and use in source and binary forms, with or without
11## modification, are permitted only as authorized by the OpenLDAP
12## Public License.
13##
14## A copy of this license is available in the file LICENSE in the
15## top-level directory of the distribution or, alternatively, at
16## <http://www.OpenLDAP.org/license.html>.
17#
18## Portions Copyright (C) The Internet Society (1999).
19## Please see full copyright statement below.
20
21
22# Network Working Group                                            V. Ryan
23# Request for Comments: 2714                                        R. Lee
24# Category: Informational                                      S. Seligman
25#                                                   Sun Microsystems, Inc.
26#                                                             October 1999
27# 
28# 
29#   Schema for Representing CORBA Object References in an LDAP Directory
30# 
31# Status of this Memo
32# 
33#    This memo provides information for the Internet community.  It does
34#    not specify an Internet standard of any kind.  Distribution of this
35#    memo is unlimited.
36# 
37# Copyright Notice
38# 
39#    Copyright (C) The Internet Society (1999).  All Rights Reserved.
40# 
41# Abstract
42# 
43#    CORBA [CORBA] is the Common Object Request Broker Architecture
44#    defined by the Object Management Group. This document defines the
45#    schema for representing CORBA object references in an LDAP directory
46#    [LDAPv3].
47# 
48# [trimmed]
49
50# 3. Attribute Type Definitions
51# 
52#    The following attribute types are defined in this document:
53# 
54#        corbaIor
55#        corbaRepositoryId
56# 
57# 3.1 corbaIor
58# 
59#    This attribute stores the string representation of the interoperable
60#    object reference (IOR) for a CORBA object. An IOR is an opaque handle
61#    for the object which contains the information necessary to locate the
62#    object, even if the object is in another ORB.
63# 
64#    This attribute's syntax is 'IA5 String' and its case is
65#    insignificant.
66# 
67#    ( 1.3.6.1.4.1.42.2.27.4.1.14
68#     NAME 'corbaIor'
69#     DESC 'Stringified interoperable object reference of a CORBA object'
70#     EQUALITY caseIgnoreIA5Match
71#     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
72#     SINGLE-VALUE
73#    )
74# 
75attributetype ( 1.3.6.1.4.1.42.2.27.4.1.14
76	NAME 'corbaIor'
77	DESC 'Stringified interoperable object reference of a CORBA object'
78	EQUALITY caseIgnoreIA5Match
79	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
80	SINGLE-VALUE )
81
82# 3.2 corbaRepositoryId
83# 
84#    Each CORBA interface has a unique "repository id" (also called "type
85#    id") that identifies the interface.  A CORBA object has one or more
86#    repository ids, one for each interface that it implements.
87# 
88#    The format of a repository id can be any string, but the OMG
89#    specifies four standard formats:
90# 
91#       a. IDL-style
92# 
93#        IDL:Prefix/ModuleName/InterfaceName:VersionNumber
94# 
95#    For example, the repository id for the "NamingContext" in OMG's COS
96#    Naming module is:  "IDL:omg.org/CosNaming/NamingContext:1.0".
97# 
98#       b. RMI-style
99# 
100#        RMI:ClassName:HashCode[:SUID]
101# 
102#    This format is used by RMI-IIOP remote objects [RMI-IIOP].
103#    "ClassName" is the fully qualified name of the class (for example,
104#    "java.lang.String"). "HashCode" is the object's hash code (that is,
105#    that obtained by invoking the "hashCode()" method).  "SUID" is the
106#    "stream unique identifier", which is a 64-bit number that uniquely
107#    identifies the serialization version of the class; SUID is optional
108#    in the repository id.
109# 
110#       c. DCE-style
111# 
112#        DCE:UUID
113# 
114#    This format is used for DCE/CORBA interoperability [CORBA-DCE].
115#    "UUID" represents a DCE UUID.
116# 
117#       d. "local"
118# 
119#    This format is defined by the local Object Request Broker (ORB).
120# 
121#    The corbaRepositoryId attribute is a multivalued attribute; each
122#    value records a single repository id of an interface implemented by
123#    the CORBA object.  This attribute need not contain a complete list of
124#    the interfaces implemented by the CORBA object.
125# 
126#    This attribute's syntax is 'Directory String' and its case is
127#    significant.  The values of this attribute are encoded using UTF-8.
128#    Some values may require translation from their native representation
129#    in order to be correctly encoded using UTF-8.
130# 
131#    ( 1.3.6.1.4.1.42.2.27.4.1.15
132#     NAME 'corbaRepositoryId'
133#     DESC 'Repository ids of interfaces implemented by a CORBA object'
134#     EQUALITY caseExactMatch
135#     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
136#    )
137# 
138# 
139attributetype ( 1.3.6.1.4.1.42.2.27.4.1.15
140	NAME 'corbaRepositoryId'
141	DESC 'Repository ids of interfaces implemented by a CORBA object'
142	EQUALITY caseExactMatch
143	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
144
145# 4. Object Class Definitions
146# 
147#    The following object classes are defined in this document:
148# 
149#        corbaContainer
150#        corbaObject
151#        corbaObjectReference
152# 
153# 4.1 corbaContainer
154# 
155#    This structural object class represents a container for a CORBA
156#    object.
157# 
158#    ( 1.3.6.1.4.1.42.2.27.4.2.10
159#     NAME 'corbaContainer'
160#     DESC 'Container for a CORBA object'
161#     SUP top
162#     STRUCTURAL
163#     MUST ( cn )
164#    )
165# 
166objectclass ( 1.3.6.1.4.1.42.2.27.4.2.10
167	NAME 'corbaContainer'
168	DESC 'Container for a CORBA object'
169	SUP top
170	STRUCTURAL
171	MUST cn )
172
173# 4.2 corbaObject
174# 
175#    This abstract object class is the root class for representing a CORBA
176#    object.
177# 
178#    ( 1.3.6.1.4.1.42.2.27.4.2.9
179#     NAME 'corbaObject'
180#     DESC 'CORBA object representation'
181#     SUP top
182#     ABSTRACT
183#     MAY ( corbaRepositoryId $ description )
184#    )
185# 
186objectclass ( 1.3.6.1.4.1.42.2.27.4.2.9
187	NAME 'corbaObject'
188	DESC 'CORBA object representation'
189	SUP top
190	ABSTRACT
191	MAY ( corbaRepositoryId $ description ) )
192
193# 4.3 corbaObjectReference
194# 
195#    This auxiliary object class represents a CORBA object reference.  It
196#    must be mixed in with a structural object class.
197# 
198#    ( 1.3.6.1.4.1.42.2.27.4.2.11
199#     NAME 'corbaObjectReference'
200#     DESC 'CORBA interoperable object reference'
201#     SUP corbaObject
202#     AUXILIARY
203#     MUST ( corbaIor )
204#    )
205# 
206objectclass ( 1.3.6.1.4.1.42.2.27.4.2.11
207	NAME 'corbaObjectReference'
208	DESC 'CORBA interoperable object reference'
209	SUP corbaObject
210	AUXILIARY
211	MUST corbaIor )
212 
213# 10.  Full Copyright Statement
214#
215#    Copyright (C) The Internet Society (1999).  All Rights Reserved.
216# 
217#    This document and translations of it may be copied and furnished to
218#    others, and derivative works that comment on or otherwise explain it
219#    or assist in its implementation may be prepared, copied, published
220#    and distributed, in whole or in part, without restriction of any
221#    kind, provided that the above copyright notice and this paragraph are
222#    included on all such copies and derivative works.  However, this
223#    document itself may not be modified in any way, such as by removing
224#    the copyright notice or references to the Internet Society or other
225#    Internet organizations, except as needed for the purpose of
226#    developing Internet standards in which case the procedures for
227#    copyrights defined in the Internet Standards process must be
228#    followed, or as required to translate it into languages other than
229#    English.
230# 
231#    The limited permissions granted above are perpetual and will not be
232#    revoked by the Internet Society or its successors or assigns.
233# 
234#    This document and the information contained herein is provided on an
235#    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
236#    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
237#    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
238#    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
239#    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
240