src/share/classes/org/omg/PortableServer/corba.idl

Thu, 17 Jun 2010 16:27:56 -0700

author
mikejwre
date
Thu, 17 Jun 2010 16:27:56 -0700
changeset 171
95db968660e7
parent 158
91006f157c46
child 748
6845b95cba6b
permissions
-rw-r--r--

Added tag jdk7-b98 for changeset 3b99409057e4

duke@1 1 /*
ohair@158 2 * Copyright (c) 1997, 2000, Oracle and/or its affiliates. All rights reserved.
duke@1 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@1 4 *
duke@1 5 * This code is free software; you can redistribute it and/or modify it
duke@1 6 * under the terms of the GNU General Public License version 2 only, as
ohair@158 7 * published by the Free Software Foundation. Oracle designates this
duke@1 8 * particular file as subject to the "Classpath" exception as provided
ohair@158 9 * by Oracle in the LICENSE file that accompanied this code.
duke@1 10 *
duke@1 11 * This code is distributed in the hope that it will be useful, but WITHOUT
duke@1 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@1 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@1 14 * version 2 for more details (a copy is included in the LICENSE file that
duke@1 15 * accompanied this code).
duke@1 16 *
duke@1 17 * You should have received a copy of the GNU General Public License version
duke@1 18 * 2 along with this work; if not, write to the Free Software Foundation,
duke@1 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@1 20 *
ohair@158 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@158 22 * or visit www.oracle.com if you need additional information or have any
ohair@158 23 * questions.
duke@1 24 */
duke@1 25
duke@1 26
duke@1 27 // minimal definitions to keep idltojava happy while compiling poa.idl
duke@1 28 #pragma prefix "omg.org"
duke@1 29
duke@1 30 module CORBA {
duke@1 31
duke@1 32 typedef string Identifier;
duke@1 33 typedef string RepositoryId;
duke@1 34
duke@1 35 // basic Policy definition
duke@1 36 typedef unsigned long PolicyType ;
duke@1 37
duke@1 38 /** The Policy interface provides a mechanism for ORBs and Object
duke@1 39 * Services to allow access to certain choices that affect their
duke@1 40 * operation. This information is accessed in a structured manner
duke@1 41 * using interfaces derived from the org.omg.CORBA.Policy interface.
duke@1 42 */
duke@1 43 interface Policy {
duke@1 44 /** Return the constant value that corresponds to the
duke@1 45 * type of the policy object. The values of
duke@1 46 * the polivy objectys are allocated by the OMG.
duke@1 47 * New values for PolicyType should be obtained from the OMG by
duke@1 48 * sending mail to request@omg.org. In general the constant
duke@1 49 * values that are allocated are defined in conjunction with
duke@1 50 * the definition of the corresponding policy object.
duke@1 51 * @return the constant value that corresponds to the type of
duke@1 52 * the policy object.
duke@1 53 */
duke@1 54 readonly attribute PolicyType policy_type;
duke@1 55
duke@1 56 /** Copies the policy object. The copy does not retain any
duke@1 57 * relationships that the policy had with any domain or object.
duke@1 58 * @return the copy of the policy object.
duke@1 59 */
duke@1 60 Policy copy( );
duke@1 61
duke@1 62 /** Destroys the policy object. It is the responsibility of
duke@1 63 * the policy object to determine whether it can be destroyed.
duke@1 64 */
duke@1 65 void destroy( );
duke@1 66 };
duke@1 67
duke@1 68 typedef sequence <Policy> PolicyList;
duke@1 69
duke@1 70 /**
duke@1 71 * An interface that makes it possible to access information
duke@1 72 * associated with a particular thread of execution, such as
duke@1 73 * security information or a transaction identifier.
duke@1 74 * <P>
duke@1 75 * An ORB or CORBA service that needs its own thread-specific
duke@1 76 * state extends the CORBA package's <code>Current</code>.
duke@1 77 * Users of the service can obtain an instance of the appropriate
duke@1 78 * <code>Current</code> interface by invoking
duke@1 79 * <code>ORB.resolve_initial_references</code>.
duke@1 80 * For example, the Security service obtains the <code>Current</code>
duke@1 81 * relevant to it by invoking
duke@1 82 * <PRE>
duke@1 83 * ORB.resolve_initial_references("SecurityCurrent");
duke@1 84 * </PRE>
duke@1 85 * <P>
duke@1 86 * A CORBA service does not have to use this method of keeping context
duke@1 87 * but may choose to do so.
duke@1 88 * <P>
duke@1 89 * Methods on classes that implement from <code>Current</code> access state
duke@1 90 * associated with the thread in which they are invoked, not state associated
duke@1 91 * with the thread from which the <code>Current</code> was obtained.
duke@1 92 * Current objects must not be exported to other processes, or externalized
duke@1 93 * with ORB.object_to_string. If any attempt is made to do so, the offending
duke@1 94 * operation will raise a MARSHAL system exception.
duke@1 95 * @see <a href="package-summary.html#unimpl"><code>portable</code>
duke@1 96 * package comments for unimplemented features</a>
duke@1 97 */
duke@1 98 interface Current { };
duke@1 99 };
duke@1 100
duke@1 101

mercurial