interface SOMClass; interface SOMObject; typedef long int; typedef octet uchar_t; typedef unsigned long size_t; typedef unsigned long SOMFOREIGN; typedef SOMFOREIGN FILE; typedef SOMFOREIGN va_list; typedef SOMFOREIGN SOMHANDLE; typedef int somToken; typedef SOMFOREIGN somId; enum TCKind { tk_null, tk_void, tk_short, tk_long, tk_ushort, tk_ulong, tk_float, tk_double, tk_boolean, tk_char, tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, tk_struct, tk_union, tk_enum, tk_string, tk_sequence, tk_array, tk_pointer, tk_self, tk_foreign }; typedef char integer1; typedef short integer2; typedef unsigned short uinteger2; typedef long integer4; typedef unsigned long uinteger4; typedef float float4; typedef double float8; typedef string zString; typedef string fString; typedef somToken somMethodProc; typedef somToken somMethodPtr; struct somMethodTab { SOMClass classObject; }; struct SOMAny { somMethodTab mtab; }; typedef somToken somMToken; typedef somToken somMLocator; typedef somToken somDToken; typedef somToken somDLocator; typedef somToken somClassInfo; typedef somToken SOMTokBuf; typedef somToken somInitCtrl; typedef somToken somInitInfo; typedef somToken somDestructCtrl; typedef somToken somDestructInfo; typedef somToken somAssignCtrl; typedef somToken somAssignInfo; typedef unsigned long somRdAppType; struct somMethodInfo { somRdAppType callType; long va_listSize; unsigned long float_map; } ; typedef struct somMethodDataStruct { somId id; long type; somId descriptor; somMToken mToken; somMethodPtr method; somToken shared; } somMethodData; struct somClassList { SOMClass cls; somClassList next; }; typedef somClassList somClasses; struct somMethodTabList { somMethodTab mtab; somMethodTabList next; }; typedef somMethodTabList somMethodTabs; typedef somMethodTabList somParentMtabStructPtr; struct somClassDataStructure { SOMClass classObject; somToken tokens[1]; }; struct somCClassDataStructure { somMethodTabs parentMtab; somDToken instanceDataToken; somMethodPtr ptrs[1]; }; typedef somCClassDataStructure somCClassDataStructurePtr; typedef octet somBooleanVector; enum exception_type { NO_EXCEPTION, USER_EXCEPTION, SYSTEM_EXCEPTION }; struct Environment { exception_type major; octet opaque_data[12]; }; interface SOMObject { typedef sequence SOMObjectSequence; typedef sequence BooleanSequence; struct somObjectOffset { SOMObject obj; long offset; }; typedef sequence somObjectOffsets; void somDefaultInit(inout somInitCtrl ctrl); void somDestruct(in octet doFree, inout somDestructCtrl ctrl); void somDefaultCopyInit(inout somInitCtrl ctrl, in SOMObject fromObj); SOMObject somDefaultAssign(inout somAssignCtrl ctrl, in SOMObject fromObj); void somDefaultConstCopyInit(inout somInitCtrl ctrl, in SOMObject fromObj); void somDefaultVCopyInit(inout somInitCtrl ctrl, in SOMObject fromObj); void somDefaultConstVCopyInit(inout somInitCtrl ctrl, in SOMObject fromObj); SOMObject somDefaultConstAssign(inout somAssignCtrl ctrl, in SOMObject fromObj); SOMObject somDefaultVAssign(inout somAssignCtrl ctrl, in SOMObject fromObj); SOMObject somDefaultConstVAssign(inout somAssignCtrl ctrl, in SOMObject fromObj); void somInit(); void somFree(); void somUninit(); SOMClass somGetClass(); string somGetClassName(); long somGetSize(); boolean somIsA(in SOMClass aClassObj); boolean somIsInstanceOf(in SOMClass aClassObj); boolean somRespondsTo(in somId mId); boolean somDispatch(out somToken retValue, in somId methodId, in va_list ap); boolean somClassDispatch(in SOMClass clsObj, out somToken retValue, in somId methodId, in va_list ap); boolean somCastObj(in SOMClass cls); boolean somResetObj(); void somDispatchV(in somId methodId, in somId descriptor, in va_list ap); long somDispatchL(in somId methodId, in somId descriptor, in va_list ap); void somDispatchA(in somId methodId, in somId descriptor, in va_list ap); double somDispatchD(in somId methodId, in somId descriptor, in va_list ap); SOMObject somPrintSelf(); void somDumpSelf(in long level); void somDumpSelfInt(in long level); }; interface SOMClass : SOMObject { typedef sequence somTokenSequence; typedef sequence SOMClassSequence; struct somOffsetInfo { SOMClass cls; long offset; }; typedef sequence somOffsets; typedef sequence somIdSequence; readonly attribute long somDataAlignment; readonly attribute somOffsets somInstanceDataOffsets; attribute SOMClassSequence somDirectInitClasses; SOMObject somNew(); SOMObject somNewNoInit(); SOMObject somRenew(in void obj); SOMObject somRenewNoInit(in void obj); SOMObject somRenewNoZero(in void obj); SOMObject somRenewNoInitNoZero(in void obj); string somAllocate(in long size); void somDeallocate(in string memptr); readonly attribute somMethodProc somClassAllocate; readonly attribute somMethodProc somClassDeallocate; somBooleanVector somGetInstanceInitMask(out somInitCtrl ctrl); somBooleanVector somGetInstanceDestructionMask(out somDestructCtrl ctrl); somBooleanVector somGetInstanceAssignmentMask(out somAssignCtrl ctrl); void somInitClass(in string className, in SOMClass parentClass, in long dataSize, in long maxStaticMethods, in long majorVersion, in long minorVersion); void somInitMIClass(in long inherit_vars, in string className, in SOMClassSequence parentClasses, in long dataSize, in long dataAlignment, in long maxStaticMethods, in long majorVersion, in long minorVersion); somMToken somAddStaticMethod(in somId methodId, in somId methodDescriptor, in somMethodPtr method, in somMethodPtr redispatchStub, in somMethodPtr applyStub); void somAddDynamicMethod(in somId methodId, in somId methodDescriptor, in somMethodPtr method, in somMethodPtr applyStub); void somOverrideSMethod(in somId methodId, in somMethodPtr method); void somClassReady(); somMethodPtr somGetApplyStub(in somId methodId); somClassDataStructure somGetClassData(); void somSetClassData(in somClassDataStructure cds); somMethodTab somGetClassMtab(); long somGetInstanceOffset(); long somGetInstancePartSize(); long somGetInstanceSize(); somDToken somGetInstanceToken(); somDToken somGetMemberToken(in long memberOffset, in somDToken instanceToken); boolean somGetMethodData(in somId methodId, out somMethodData md); somMethodProc somGetRdStub(in somId methodId); somId somGetMethodDescriptor(in somId methodId); long somGetMethodIndex(in somId id); somMToken somGetMethodToken(in somId methodId); string somGetName(); boolean somGetNthMethodData(in long n, out somMethodData md); somId somGetNthMethodInfo(in long n, out somId descriptor); long somGetNumMethods(); long somGetNumStaticMethods(); SOMClass somGetParent(); SOMClassSequence somGetParents(); somMethodTabs somGetPClsMtab(); somMethodTabs somGetPClsMtabs(); void somGetVersionNumbers (out long majorVersion, out long minorVersion); boolean somSetMethodDescriptor(in somId methodId, in somId descriptor); boolean somFindMethod(in somId methodId, out somMethodPtr m); boolean somFindMethodOk(in somId methodId, out somMethodPtr m); somMethodPtr somFindSMethod(in somId methodId); somMethodPtr somFindSMethodOk(in somId methodId); somMethodPtr somLookupMethod(in somId methodId); boolean somCheckVersion(in long majorVersion, in long minorVersion); boolean somDescendedFrom(in SOMClass aClassObj); boolean somSupportsMethod(in somId mId); somMethodPtr somDefinedMethod(in somMToken method); void somOverrideMtab(); }; struct somModifier { string name; string value; }; interface Container; typedef string Identifier; typedef string RepositoryId; typedef int any; interface Contained : SOMObject { struct Description { Identifier name; any value; }; attribute Identifier name; attribute RepositoryId id; attribute RepositoryId defined_in; sequence within(); Description describe(); }; typedef int TypeCode; interface AttributeDef : Contained { enum AttributeMode {NORMAL, READONLY}; struct AttributeDescription { Identifier name; RepositoryId id; RepositoryId defined_in; TypeCode type; AttributeMode mode; }; attribute TypeCode type; attribute AttributeMode mode; }; interface ExceptionDef : Contained { struct ExceptionDescription { Identifier name; RepositoryId id; RepositoryId defined_in; TypeCode type; }; attribute TypeCode type; }; enum completion_status { YES, NO, MAYBE }; typedef unsigned long ORBStatus; typedef sequence ReferenceData; typedef unsigned long Flags; struct NamedValue { Identifier name; any argument; long len; Flags arg_modes; }; typedef string ImplId; module SOMD { const string Version = "1.0"; }; interface SOMMSingleInstance : SOMClass { SOMObject sommGetSingleInstance(); void sommFreeSingleInstance(); }; interface OperationDef; interface SOMDObject; interface NVList; interface Context; interface ORB : SOMObject { string object_to_string(in SOMDObject obj); SOMDObject string_to_object(in string str); ORBStatus create_list(in long count, out NVList new_list); ORBStatus create_operation_list(in OperationDef oper, out NVList new_list); ORBStatus get_default_context(out Context ctx); }; interface Repository; interface SOMClassMgr : SOMObject { typedef SOMClass SOMClassArray; SOMClass somLoadClassFile(in somId classId, in long majorVersion, in long minorVersion, in string f); string somLocateClassFile(in somId classId, in long majorVersion, in long minorVersion); void somRegisterClass(in SOMClass classObj); void somRegisterClassLibrary (in string libraryName, in somMethodPtr libraryInitRtn); long somUnloadClassFile(in SOMClass classObj); long somUnregisterClass(in SOMClass classObj); void somBeginPersistentClasses(); void somEndPersistentClasses(); boolean somJoinAffinityGroup(in SOMClass newClass, in SOMClass affClass); string somGetInitFunction(); attribute Repository somInterfaceRepository; readonly attribute sequence somRegisteredClasses; SOMClassArray somGetRelatedClasses(in SOMClass classObj); SOMClass somClassFromId(in somId classId); SOMClass somFindClass(in somId classId, in long majorVersion, in long minorVersion); SOMClass somFindClsInFile(in somId classId, in long majorVersion, in long minorVersion, in string f); void somMergeInto(in SOMObject targetObj); long somSubstituteClass(in string origClassName, in string newClassName); }; interface SOMDObject; interface Principal; interface ImplementationDef; interface InterfaceDef; interface Context; interface BOA : SOMObject { SOMDObject create(in ReferenceData id, in InterfaceDef intf, in ImplementationDef impl); void dispose(in SOMDObject obj); ReferenceData get_id(in SOMDObject obj); Principal get_principal(in SOMDObject obj, in Environment req_ev); void set_exception(in exception_type major, in string userid, in void param); void impl_is_ready(in ImplementationDef impl); void deactivate_impl(in ImplementationDef impl); void change_implementation(in SOMDObject obj, in ImplementationDef impl); void obj_is_ready(in SOMDObject obj, in ImplementationDef impl); void deactivate_obj(in SOMDObject obj); }; interface ImplementationDef : SOMObject { attribute string impl_id; attribute string impl_alias; attribute string impl_program; attribute Flags impl_flags; attribute string impl_server_class; attribute string impl_refdata_file; attribute string impl_refdata_bkup; attribute string impl_hostname; }; interface ParameterDef : Contained { enum ParameterMode {IN, OUT, INOUT}; struct ParameterDescription { Identifier name; RepositoryId id; RepositoryId defined_in; TypeCode type; ParameterMode mode; }; attribute TypeCode type; attribute ParameterMode mode; }; interface ImplementationDef; interface InterfaceDef; interface NVList; interface Context; interface Request; interface SOMDObject : SOMObject { ImplementationDef get_implementation(); InterfaceDef get_interface(); boolean is_nil(); boolean is_SOM_ref(); boolean is_constant(); boolean is_proxy(); SOMDObject duplicate(); void release(); ORBStatus create_request(in Context ctx, in Identifier operation, in NVList arg_list, inout NamedValue result, out Request r, in Flags req_flags); ORBStatus create_request_args(in Identifier operation, out NVList arg_list, out NamedValue result); }; interface CommBinding; interface somdMemoryMgr; interface SOMDClientProxy : SOMDObject { void somdTargetFree(); SOMClass somdTargetGetClass(); string somdTargetGetClassName(); void somdProxyFree(); SOMClass somdProxyGetClass(); string somdProxyGetClassName(); void somdReleaseResources(); }; interface SOMUTId : SOMObject { void somutSetIdId(in SOMUTId otherId); boolean somutEqualsId(in SOMUTId otherId); short somutCompareId(in SOMUTId otherId); unsigned long somutHashId(); }; interface SOMUTStringId : SOMUTId { long somutSetIdString(in string IdString); string somutGetIdString(in string toBuffer); long somutGetIdStringLen(); boolean somutEqualsString(in string IdString); short somutCompareString(in string IdString); }; interface SOMEEvent : SOMObject { unsigned long somevGetEventTime(); unsigned long somevGetEventType(); void somevSetEventTime(in unsigned long time); void somevSetEventType(in unsigned long type); }; interface SOMEClientEvent : SOMEEvent { void somevGetEventClientData(); string somevGetEventClientType(); void somevSetEventClientData(in void clientData); void somevSetEventClientType(in string clientType); }; interface ImplementationDef; interface ImplRepository : SOMObject { ImplementationDef find_impldef(in ImplId i); ImplementationDef find_impldef_by_alias(in string alias_name); ORBStatus find_all_impldefs(out int outimpldefs); sequence find_impldef_by_class(in string c); void add_impldef(in ImplementationDef impldef); void update_impldef(in ImplementationDef impldef); void delete_impldef(in ImplId plid); void add_class_to_impldef(in ImplId plid, in string c); void remove_class_from_impldef(in ImplId plid, in string e); void remove_class_from_all(in string e); sequence find_classes_by_impldef(in ImplId plid); }; interface SOMMMetaCooperative; interface SOMMCooperative : SOMClass { somMethodProc sommAddCooperativeInstanceMethod(in somId methodId, in somMethodProc methodProc); somMethodProc sommAddCooperativeClassMethod(in somId methodId, in somMethodProc methodProc); void sommRequestFirstCooperativeInstanceMethodCall(in somId methodId, in somMethodProc coopProc, inout int i); void sommRequestFirstCooperativeClassMethodCall(in somId methodId, in somMethodProc coopProc, inout somMethodProc chainProcAddrAddr); void sommRequestFinalClassMethodCall(in somId methodId, in somMethodProc methodProc); boolean sommSatisfyRequests(); }; interface SOMMCooperativeSistered : SOMMCooperative { readonly attribute SOMClass somSisterClass; }; interface SOMMCooperativeRedispatched : SOMMCooperativeSistered { }; interface SOMDMetaproxy : SOMMCooperativeSistered { }; interface Sockets : SOMObject { typedef SOMFOREIGN sockaddr; typedef SOMFOREIGN iovec; typedef SOMFOREIGN msghdr; typedef SOMFOREIGN fd_set; typedef SOMFOREIGN timeval; typedef SOMFOREIGN hostent; typedef SOMFOREIGN servent; typedef SOMFOREIGN in_addr; long somsAccept (in long s, out sockaddr name, out long namelen); long somsBind (in long s, inout sockaddr name, in long namelen); long somsConnect (in long s, inout sockaddr name, in long namelen); hostent somsGethostbyaddr (in char addr, in long addrlen, in long domain); hostent somsGethostbyname (in string name); hostent somsGethostent (); unsigned long somsGethostid (); long somsGethostname (in string name, in long namelength); long somsGetpeername (in long s, out sockaddr name, out long namelen); servent somsGetservbyname (in string name, in string protocol); long somsGetsockname (in long s, out sockaddr name, out long namelen); long somsGetsockopt (in long s, in long level, in long optname, in char optval, out long option); unsigned long somsHtonl (in unsigned long a); unsigned short somsHtons (in unsigned short a); long somsIoctl (in long s, in long cmd, in char ata, in long length); unsigned long somsInet_addr (in string cp); unsigned long somsInet_lnaof (in in_addr addr); in_addr somsInet_makeaddr (in unsigned long net, in unsigned long lna); unsigned long somsInet_netof (in in_addr addr); unsigned long somsInet_network (in string cp); string somsInet_ntoa (in in_addr addr); long somsListen (in long s, in long backlog); unsigned long somsNtohl (in unsigned long a); unsigned short somsNtohs (in unsigned short a); long somsReadv (in long s, inout iovec iov, in long iovcnt); long somsRecv (in long s, in char buf, in long len, in long ags); long somsRecvfrom (in long s, in char buf, in long len, in long ags, out sockaddr name, out long namelen); long somsRecvmsg (in long s, inout msghdr msg, in long ags); long somsSelect (in long nfds, inout fd_set readfds, inout fd_set writefds, inout fd_set exceptfds, inout timeval timeout); long somsSend (in long s, in char msg, in long len, in long ags); long somsSendmsg (in long s, inout msghdr msg, in long ags); long somsSendto (in long s, inout char msg, in long len, in long ags, inout sockaddr to, in long tolen); long somsSetsockopt (in long s, in long level, in long optname, in char optval, in long optlen); long somsShutdown (in long s, in long how); long somsSocket (in long domain, in long type, in long protocol); long somsSoclose (in long s); long somsWritev (in long s, inout iovec iov, in long iovcnt); attribute long serrno; }; interface NVList; interface Context : SOMObject { ORBStatus set_one_value(in Identifier prop_name, in string value); ORBStatus set_values(in NVList values); ORBStatus get_values(in Identifier start_scope, in Flags op_flags, in Identifier prop_name, out NVList values); ORBStatus delete_values(in Identifier prop_name); ORBStatus create_child(in Identifier ctx_name, out Context child_ctx); ORBStatus destroy(in Flags ags); }; interface Container : SOMObject { typedef string InterfaceName; struct ContainerDescription { Contained contained_object; Identifier name; any value; }; sequence contents(in InterfaceName limit_type, in boolean exclude_inherited); sequence lookup_name(in Identifier search_name, in long levels_to_search, in InterfaceName limit_type, in boolean exclude_inherited); sequence describe_contents(in InterfaceName limit_type, in boolean exclude_inherited, in long max_returned_objs); }; typedef string ContextIdentifier; interface OperationDef : Contained , Container { enum OperationMode {NORMAL, ONEWAY}; struct OperationDescription { Identifier name; RepositoryId id; RepositoryId defined_in; TypeCode result; OperationMode mode; sequence contexts; sequence parameter; sequence exceptions; }; attribute TypeCode result; attribute OperationMode mode; }; interface InterfaceDef : Contained , Container { struct FullInterfaceDescription { Identifier name; RepositoryId id; RepositoryId defined_in; }; struct InterfaceDescription { Identifier name; RepositoryId id; RepositoryId defined_in; }; FullInterfaceDescription describe_interface(); attribute TypeCode instanceData; }; interface Principal : SOMObject { attribute string userName; attribute string hostName; }; module StExcep { exception UNKNOWN { unsigned long minor; completion_status completed; }; exception BAD_PARAM { unsigned long minor; completion_status completed; }; exception NO_MEMORY { unsigned long minor; completion_status completed; }; exception IMP_LIMIT { unsigned long minor; completion_status completed; }; exception COMM_FAILURE { unsigned long minor; completion_status completed; }; exception INV_OBJREF { unsigned long minor; completion_status completed; }; exception NO_PERMISSION { unsigned long minor; completion_status completed; }; exception INTERNAL { unsigned long minor; completion_status completed; }; exception MARSHAL { unsigned long minor; completion_status completed; }; exception INITIALIZE { unsigned long minor; completion_status completed; }; exception NO_IMPLEMENT { unsigned long minor; completion_status completed; }; exception BAD_TYPECODE { unsigned long minor; completion_status completed; }; exception BAD_OPERATION { unsigned long minor; completion_status completed; }; exception NO_RESOURCES { unsigned long minor; completion_status completed; }; exception NO_RESPONSE { unsigned long minor; completion_status completed; }; exception PERSIST_STORE { unsigned long minor; completion_status completed; }; exception BAD_INV_ORDER { unsigned long minor; completion_status completed; }; exception TRANSIENT { unsigned long minor; completion_status completed; }; exception FREE_MEM { unsigned long minor; completion_status completed; }; exception INV_IDENT { unsigned long minor; completion_status completed; }; exception INV_FLAG { unsigned long minor; completion_status completed; }; exception INTF_REPOS { unsigned long minor; completion_status completed; }; exception CON { unsigned long minor; completion_status completed; }; exception OBJ_ADAPTER { unsigned long minor; completion_status completed; }; exception DATA_CONVERSION { unsigned long minor; completion_status completed; }; exception OPSYS { unsigned long minor; completion_status completed; }; exception WMQUIT { unsigned long minor; completion_status completed; }; exception DISPATCH { unsigned long minor; completion_status completed; }; }; interface ConstantDef : Contained { struct ConstantDescription { Identifier name; RepositoryId id; RepositoryId defined_in; TypeCode type; any value; }; attribute TypeCode type; attribute any value; }; interface IPXSockets : Sockets { }; interface Repository : Container { struct RepositoryDescription { Identifier name; string id; string defined_in; }; enum irOpenErrorCodes { NOACCESS, BADMAGICNUMBER, MISSINGVERSIONINFO, IOERROR, VERSIONMISMATCH }; exception irOpenError { irOpenErrorCodes errorCode; string fileName; }; Contained lookup_id(in string search_id); string lookup_modifier(in string name, in string modifier); void release_cache(); }; interface ObjectMgr : SOMObject { SOMObject somdNewObject(in Identifier objclass, in string hints); string somdGetIdFromObject(in SOMObject obj); SOMObject somdGetObjectFromId(in string id); void somdReleaseObject(in SOMObject obj); void somdDestroyObject(in SOMObject obj); }; interface SOMDServer; interface SOMDObjectMgr : ObjectMgr { SOMDServer somdFindServer(in ImplId serverid); SOMDServer somdFindServerByName(in string servername); sequence somdFindServersByClass(in Identifier objclass); SOMDServer somdFindAnyServerByClass(in Identifier objclass); attribute boolean somd21somFree; }; interface TCPIPSockets : Sockets { }; interface ModuleDef : Contained , Container { struct ModuleDescription { Identifier name; string id; string defined_in; }; }; interface Request : SOMObject { ORBStatus add_arg(in Identifier name, in TypeCode arg_type, in void value, in long len, in Flags arg_flags); ORBStatus invoke(in Flags invoke_flags); ORBStatus send(in Flags invoke_flags); ORBStatus get_response(in Flags response_flags); ORBStatus destroy(); }; interface SOMDObject; interface SOMDServer : SOMObject { SOMDObject somdRefFromSOMObj(in SOMObject somobj); SOMObject somdSOMObjFromRef(in SOMDObject objref); void somdDispatchMethod(in SOMObject somobj, out somToken retValue, in somId methodId, in va_list ap); SOMObject somdCreateObj(in Identifier objclass, in string hints); void somdDeleteObj(in SOMObject somobj); SOMClass somdGetClassObj(in Identifier objclass); boolean somdObjReferencesCached(); }; interface SOMETimerEvent : SOMEEvent { long somevGetEventInterval(); void somevSetEventInterval(in long interval); }; interface NBSockets : Sockets { }; interface SOMESinkEvent : SOMEEvent { long somevGetEventSink(); void somevSetEventSink(in long sink); }; interface TypeDef : Contained { struct TypeDescription { Identifier name; string id; string defined_in; TypeCode type; }; attribute TypeCode type; }; interface SOMEEvent; interface SOMEClientEvent; interface SOMEEMRegisterData; typedef somToken EMRegProc; typedef somToken EMMethodProc; typedef somToken EMMethodProcEv; interface SOMEEMan : SOMObject { void someGetEManSem(); void someReleaseEManSem(); void someChangeRegData(in long registrationId, in SOMEEMRegisterData registerData); void someProcessEvent(in unsigned long mask); void someProcessEvents(); void someQueueEvent(in SOMEClientEvent event); long someRegister(in SOMEEMRegisterData registerData, in SOMObject targetObject, in string targetMethod, in void targetData); long someRegisterEv(in SOMEEMRegisterData registerData, in SOMObject targetObject, inout Environment callbackEv, in string targetMethod, in void targetData); long someRegisterProc(in SOMEEMRegisterData registerData, in EMRegProc targetProcedure, in void argetData); void someShutdown(); void someUnRegister(in long registrationId); }; interface NVList : SOMObject { ORBStatus add_item(in Identifier item_name, in TypeCode item_type, in void value, in long value_len, in Flags item_flags); ORBStatus free(); ORBStatus free_memory(); ORBStatus get_count(out long count); ORBStatus set_item(in long item_number, in Identifier item_name, in TypeCode item_type, in void value, in long value_len, in Flags item_flags); ORBStatus get_item(in long item_number, out Identifier item_name, out TypeCode item_type, out void value, out long value_len, out Flags item_flags); }; interface SOMEWorkProcEvent : SOMEEvent { }; interface SOMEEMRegisterData : SOMObject { void someClearRegData(); void someSetRegDataClientType(in string clientType); void someSetRegDataEventMask(in long eventType, in va_list ap); void someSetRegDataSink(in long sink); void someSetRegDataSinkMask(in unsigned long sinkMask); void someSetRegDataTimerCount(in long count); void someSetRegDataTimerInterval(in long interval); }; interface SOMMBeforeAfter : SOMClass { boolean sommBeforeMethod(in SOMObject object, in somId methodId, in va_list ap); void sommAfterMethod(in SOMObject object, in somId methodId, in somToken returnedvalue, in va_list ap); }; interface SOMOA : BOA { ORBStatus execute_next_request(in Flags waitFlag); ORBStatus execute_request_loop(in Flags waitFlag); void change_id(in SOMDObject objref, in ReferenceData id); SOMDObject create_constant(in ReferenceData id, in InterfaceDef intf, in ImplementationDef impl); SOMDObject create_SOM_ref(in SOMObject somobj, in ImplementationDef impl); SOMObject get_SOM_object(in SOMDObject somref); void activate_impl_failed(in ImplementationDef impl, in ORBStatus rc); void interrupt_server(); }; typedef unsigned long XfTag ; interface XfFrescoObject { XfTag attach ( in XfFrescoObject observer ) ; void detach ( in XfTag attach_tag ) ; void disconnect ( ) ; void notify_observers ( ) ; void update ( ) ; } ; typedef long XfCharCode ; interface XfCharString : XfFrescoObject { typedef sequence < XfCharCode > Data ; typedef sequence < char > CharData ; typedef unsigned long HashValue ; HashValue hash ( ) ; unsigned long count ( ) ; void copy ( in XfCharString s ) ; boolean equal ( in XfCharString s ) ; boolean case_insensitive_equal ( in XfCharString s ) ; void get_data ( inout Data d ) ; void get_char_data ( inout CharData d ) ; void put_data ( in Data d ) ; void put_char_data ( in CharData d ) ; string string_ptr ( ) ; } ; typedef float XfCoord ; typedef long XfPixelCoord ; enum XfAxis { X_axis , Y_axis , Z_axis } ; struct XfVertex { XfCoord x , y , z ; } ; typedef float XfAlignment ; interface XfAction : XfFrescoObject { void execute ( ) ; boolean reversible ( ) ; void unexecute ( ) ; } ; interface XfTransform ; interface XfRegion : XfFrescoObject { struct BoundingSpan { XfCoord begin , end ; XfCoord origin , length ; XfAlignment align ; } ; boolean contains ( in XfVertex v ) ; boolean contains_plane ( in XfVertex v , in XfAxis a ) ; boolean intersects ( in XfRegion r ) ; void copy ( in XfRegion r ) ; void merge_intersect ( in XfRegion r ) ; void merge_union ( in XfRegion r ) ; void subtract ( in XfRegion r ) ; void apply_transform ( in XfTransform t ) ; void bounds ( out XfVertex lower , out XfVertex upper ) ; void origin ( out XfVertex v ) ; void span ( in XfAxis a , out XfRegion :: BoundingSpan s ) ; } ; interface XfTransform : XfFrescoObject { typedef XfCoord Matrix [ 4 ] [ 4 ] ; void copy ( in XfTransform t ) ; void load_identity ( ) ; void load_matrix ( in Matrix m ) ; void store_matrix ( out Matrix m ) ; boolean equal ( in XfTransform t ) ; boolean identity ( ) ; boolean det_is_zero ( ) ; void scale ( in XfVertex v ) ; void rotate ( in float angle , in XfAxis a ) ; void translate ( in XfVertex v ) ; void premultiply ( in XfTransform t ) ; void postmultiply ( in XfTransform t ) ; void invert ( ) ; void transform_vertex ( inout XfVertex v ) ; void inverse_transform_vertex ( inout XfVertex v ) ; } ; interface XfStyleValue : XfFrescoObject { XfCharString binding_name ( ) ; boolean uninitialized ( ) ; attribute long priority ; boolean is_on ( ) ; boolean read_boolean ( out boolean b ) ; void write_boolean ( in boolean b ) ; boolean read_coord ( out XfCoord c ) ; void write_coord ( in XfCoord c ) ; boolean read_integer ( out long i ) ; void write_integer ( in long i ) ; boolean read_real ( out double d ) ; void write_real ( in double d ) ; boolean read_string ( out XfCharString s ) ; void write_string ( in XfCharString s ) ; boolean read_object ( out Object s ) ; void write_object ( in Object s ) ; void lock ( ) ; void unlock ( ) ; } ; interface XfStyleVisitor ; interface XfStyleContext : XfFrescoObject { XfStyleContext new_style ( ) ; XfStyleContext parent_style ( ) ; void link_parent ( in XfStyleContext parent ) ; void unlink_parent ( ) ; XfTag link_child ( in XfStyleContext child ) ; void unlink_child ( in XfTag link_tag ) ; void merge ( in XfStyleContext s ) ; attribute XfCharString context_name ; void alias ( in XfCharString s ) ; boolean is_on ( in XfCharString n ) ; XfStyleValue bind ( in XfCharString n ) ; void unbind ( in XfCharString n ) ; XfStyleValue resolve ( in XfCharString n ) ; XfStyleValue resolve_wildcard ( in XfCharString n , in XfStyleContext start ) ; long match ( in XfCharString n ) ; void visit_aliases ( in XfStyleVisitor v ) ; void visit_attributes ( in XfStyleVisitor v ) ; void visit_styles ( in XfStyleVisitor v ) ; void lock ( ) ; void unlock ( ) ; } ; interface XfStyleVisitor : XfFrescoObject { boolean visit_alias ( in XfCharString n ) ; boolean visit_attribute ( in XfStyleValue a ) ; boolean visit_style ( in XfStyleContext s ) ; } ; interface XfBrush ; interface XfFont ; interface XfPattern ; interface XfRaster ; interface XfColor : XfFrescoObject { typedef float Intensity ; void rgb ( out Intensity r , out Intensity g , out Intensity b ) ; boolean equal ( in XfColor c ) ; unsigned long hash ( ) ; } ; interface XfPainter : XfFrescoObject { XfCoord to_coord ( in XfPixelCoord p , in XfAxis a ) ; XfPixelCoord to_pixels ( in XfCoord c , in XfAxis a ) ; XfCoord to_pixels_coord ( in XfCoord c , in XfAxis a ) ; void begin_path ( ) ; void move_to ( in XfCoord x , in XfCoord y ) ; void line_to ( in XfCoord x , in XfCoord y ) ; void curve_to ( in XfCoord x , in XfCoord y , in XfCoord x1 , in XfCoord y1 , in XfCoord x2 , in XfCoord y2 ) ; void close_path ( ) ; attribute XfBrush current_brush ; attribute XfColor current_color ; attribute XfFont current_font ; attribute XfPattern current_pattern ; void stroke ( ) ; void fill ( ) ; void line ( in XfCoord x0 , in XfCoord y0 , in XfCoord x1 , in XfCoord y1 ) ; void rect ( in XfCoord x0 , in XfCoord y0 , in XfCoord x1 , in XfCoord y1 ) ; void fill_rect ( in XfCoord x0 , in XfCoord y0 , in XfCoord x1 , in XfCoord y1 ) ; void character ( in XfCharCode ch , in XfCoord width , in XfCoord x , in XfCoord y ) ; void image ( in XfRaster r , in XfCoord x , in XfCoord y ) ; void stencil ( in XfRaster r , in XfCoord x , in XfCoord y ) ; attribute XfTransform current_matrix ; void push_matrix ( ) ; void pop_matrix ( ) ; void premultiply ( in XfTransform t ) ; void clip ( ) ; void clip_rect ( in XfCoord x0 , in XfCoord y0 , in XfCoord x1 , in XfCoord y1 ) ; void push_clipping ( ) ; void pop_clipping ( ) ; boolean is_visible ( in XfRegion r ) ; XfRegion visible ( ) ; void comment ( in XfCharString s ) ; void page_number ( in XfCharString s ) ; } ; interface XfRaster : XfFrescoObject { typedef long Index ; struct Info { Index rows ; Index columns ; Index origin_x ; Index origin_y ; } ; boolean equal ( in XfRaster r ) ; unsigned long hash ( ) ; void raster_info ( out Info i ) ; void set_color ( in Index row , in Index col , in XfColor c ) ; void set_color_blend ( in Index row , in Index col , in XfColor c , in float blend ) ; void set_mask ( in Index row , in Index col , in boolean on ) ; XfColor get_color ( in Index row , in Index col ) ; void get_color_blend ( in Index row , in Index col , out XfColor c , out float blend ) ; boolean get_mask ( in Index row , in Index col ) ; attribute XfCoord scale ; } ; interface XfDrawingKit : XfFrescoObject { typedef sequence < octet > Data8 ; typedef sequence < long > Data32 ; XfStyleContext style ( ) ; XfBrush simple_brush ( in XfCoord width ) ; XfBrush dither_brush ( in XfCoord width , in long p ) ; XfBrush patterned_brush ( in XfCoord width , in Data32 p ) ; XfPattern solid_pattern ( ) ; XfPattern halftone_pattern ( ) ; XfPattern stipple ( in Data32 d ) ; XfPattern stipple_4x4 ( in unsigned long p ) ; XfColor color_rgb ( in XfColor :: Intensity r , in XfColor :: Intensity g , in XfColor :: Intensity b ) ; XfColor find_color ( in XfCharString n ) ; XfColor resolve_color ( in XfStyleContext s , in XfCharString n ) ; XfColor foreground ( in XfStyleContext s ) ; XfColor background ( in XfStyleContext s ) ; XfFont find_font ( in XfCharString fullname ) ; XfFont find_font_match ( in XfCharString font_family , in XfCharString font_style , in XfCoord ptsize ) ; XfFont resolve_font ( in XfStyleContext s , in XfCharString n ) ; XfFont default_font ( in XfStyleContext s ) ; XfRaster bitmap_from_data ( in Data8 d , in XfRaster :: Index rows , in XfRaster :: Index columns , in XfRaster :: Index origin_row , in XfRaster :: Index origin_column ) ; XfRaster bitmap_from_char ( in XfFont f , in XfCharCode c ) ; XfRaster raster_open ( in XfCharString n ) ; XfTransform transform_matrix ( in XfTransform :: Matrix m ) ; XfTransform identity_matrix ( ) ; XfRegion bounding_box ( ) ; XfPainter printer ( in XfCharString output ) ; } ; interface XfBrush : XfFrescoObject { XfCoord width ( ) ; boolean equal ( in XfBrush b ) ; unsigned long hash ( ) ; } ; interface XfFont : XfFrescoObject { struct Info { XfCoord width , height ; XfCoord left_bearing , right_bearing ; XfCoord ascent , descent ; XfCoord font_ascent , font_descent ; } ; boolean equal ( in XfFont f ) ; unsigned long hash ( ) ; XfCharString fullname ( ) ; XfCharString encoding ( ) ; XfCoord point_size ( ) ; void font_info ( out XfFont :: Info i ) ; void char_info ( in XfCharCode c , out XfFont :: Info i ) ; void string_info ( in XfCharString s , out XfFont :: Info i ) ; } ; interface XfPattern : XfFrescoObject { boolean equal ( in XfPattern p ) ; unsigned long hash ( ) ; void stipple ( out XfDrawingKit :: Data32 d ) ; } ; interface XfViewer ; interface XfEvent : XfFrescoObject { typedef long ButtonIndex ; typedef unsigned long KeySym ; typedef sequence < KeySym > KeyChord ; typedef unsigned long TimeStamp ; enum Modifier_ { control , shift , capslock , meta , alt } ; enum TypeId { motion , enter , leave , down , up , key_press , key_release , focus_in , focus_out , other } ; TypeId type ( ) ; TimeStamp time ( ) ; boolean double_click ( in TimeStamp previous ) ; boolean positional ( ) ; boolean hits ( in XfViewer v ) ; XfCoord pointer_x ( ) ; XfCoord pointer_y ( ) ; ButtonIndex pointer_button ( ) ; boolean button_is_down ( in ButtonIndex b ) ; boolean modifier_is_down ( in Modifier_ m ) ; KeySym key ( ) ; XfCharCode character ( ) ; void unread ( ) ; } ; interface XfEventFilter : XfFrescoObject { boolean handle ( in XfEvent e ) ; } ; interface XfColor ; interface XfDisplay ; interface XfFont ; interface XfRaster ; interface XfScreen ; interface XfStyleContext ; interface XfWindow ; interface XfCursor : XfFrescoObject { } ; interface XfDisplayContext { XfDisplay open_string ( in string n ) ; XfDisplay open_default ( ) ; } ; interface XfDisplay : XfFrescoObject { typedef long ScreenNumber ; typedef long CursorPattern [ 16 ] ; XfStyleContext style ( ) ; XfDrawingKit drawing_kit ( ) ; XfScreen display_screen ( in XfDisplay :: ScreenNumber n ) ; XfDisplay :: ScreenNumber number_of_screens ( ) ; XfScreen default_screen ( ) ; XfCursor cursor_from_data ( in short x , in short y , in CursorPattern pat , in CursorPattern mask ) ; XfCursor cursor_from_bitmap ( in XfRaster b , in XfRaster mask ) ; XfCursor cursor_from_font ( in XfFont f , in long pat , in long mask ) ; XfCursor cursor_from_index ( in long n ) ; void run ( in boolean b ) ; boolean running ( ) ; void run_one_event ( ) ; XfTag add_filter ( in XfEventFilter f ) ; XfTag add_general_filter ( in XfEventFilter f ) ; void remove_filter ( in XfTag add_tag ) ; string keysym_to_string ( in XfEvent :: KeySym k ) ; XfEvent :: KeySym string_to_keysym ( in string s ) ; void need_repair ( in XfWindow w ) ; void repair ( ) ; void flush ( ) ; void flush_and_wait ( ) ; void ring_bell ( in float pct_loudness ) ; void close ( ) ; attribute boolean auto_repeat ; attribute float key_click_volume ; attribute float pointer_acceleration ; attribute long pointer_threshold ; attribute float pointer_double_click_threshold ; } ; interface XfScreen : XfFrescoObject { attribute XfCoord dpi ; XfDisplay display_ptr ( ) ; XfCoord width ( ) ; XfCoord height ( ) ; XfPixelCoord to_pixels ( in XfCoord c , in XfAxis a ) ; XfCoord to_coord ( in XfPixelCoord p , in XfAxis a ) ; XfCoord to_pixels_coord ( in XfCoord c , in XfAxis a ) ; void move_pointer ( in XfCoord x , in XfCoord y ) ; XfWindow application ( in XfViewer v ) ; XfWindow top_level ( in XfViewer v , in XfWindow group_leader ) ; XfWindow transient_ ( in XfViewer v , in XfWindow transient__for ) ; XfWindow popup ( in XfViewer v ) ; XfWindow icon ( in XfViewer v ) ; } ; interface XfWindow : XfFrescoObject { struct Placement { XfCoord x , y , width , height ; XfAlignment align_x , align_y ; } ; attribute boolean double_buffered ; attribute XfCursor default_cursor ; attribute XfColor cursor_foreground ; attribute XfColor cursor_background ; attribute XfCharString geometry ; attribute XfWindow icon ; attribute boolean iconic ; attribute XfCharString title ; attribute long xor_pixel ; XfScreen screen_ptr ( ) ; XfStyleContext style ( ) ; XfViewer main_viewer ( ) ; void configure ( in XfWindow :: Placement p ) ; void get_configuration ( in boolean position , out XfWindow :: Placement p ) ; void configure_notify ( in XfCoord width , in XfCoord height ) ; void move_notify ( in XfCoord left , in XfCoord bottom ) ; void map ( ) ; void unmap ( ) ; boolean is_mapped ( ) ; void map_notify ( ) ; void unmap_notify ( ) ; void iconify ( ) ; void deiconify ( ) ; void raise ( ) ; void lower ( ) ; void redraw ( in XfCoord left , in XfCoord bottom , in XfCoord width , in XfCoord height ) ; void repair ( ) ; boolean hits ( in XfEvent e ) ; void handle_event ( in XfEvent e ) ; void grab_pointer ( in XfCursor c ) ; void ungrab_pointer ( ) ; } ; interface XfDisplay ; interface XfPainter ; interface XfScreen ; interface XfStyleContext ; interface XfWindow ; interface XfDamage : XfFrescoObject { void incur ( ) ; void extend ( in XfRegion r ) ; XfRegion current ( ) ; void begin_update ( ) ; void end_update ( ) ; XfWindow window_ptr ( ) ; } ; interface XfGlyphOffset ; interface XfGlyphTraversal ; interface XfGlyph : XfFrescoObject { struct Requirement { boolean defined ; XfCoord natural , maximum , minimum ; XfAlignment align ; } ; struct Requisition { Requirement x , y , z ; boolean preserve_aspect ; } ; struct AllocationInfo { XfRegion allocation ; XfTransform transformation ; XfDamage damaged ; } ; typedef sequence < AllocationInfo > AllocationInfoSeq ; typedef sequence < XfGlyphOffset > OffsetSeq ; XfGlyph clone_glyph ( ) ; attribute XfStyleContext style ; XfTransform transformation ( ) ; void request_ ( out XfGlyph :: Requisition r ) ; void extension ( in XfGlyph :: AllocationInfo a , in XfRegion r ) ; void shape ( in XfRegion r ) ; void traverse ( in XfGlyphTraversal t ) ; void draw ( in XfGlyphTraversal t ) ; void pick ( in XfGlyphTraversal t ) ; attribute XfGlyph body ; void append ( in XfGlyph g ) ; void prepend ( in XfGlyph g ) ; XfTag add_parent ( in XfGlyphOffset parent_offset ) ; void remove_parent ( in XfTag add_tag ) ; XfGlyphOffset first_child_offset ( ) ; XfGlyphOffset last_child_offset ( ) ; void parent_offsets ( inout OffsetSeq parents ) ; void allocations ( inout XfGlyph :: AllocationInfoSeq a ) ; void need_redraw ( ) ; void need_redraw_region ( in XfRegion r ) ; void need_resize ( ) ; boolean restore_trail ( in XfGlyphTraversal t ) ; } ; interface XfGlyphOffset : XfFrescoObject { XfGlyph parent ( ) ; XfGlyph child ( ) ; XfGlyphOffset next_child ( ) ; XfGlyphOffset prev_child ( ) ; void allocations ( inout XfGlyph :: AllocationInfoSeq a ) ; void insert ( in XfGlyph g ) ; void replace ( in XfGlyph g ) ; void remove ( ) ; void notify ( ) ; void traverse ( in XfGlyphTraversal t ) ; void visit_trail ( in XfGlyphTraversal t ) ; void child_allocate ( inout XfGlyph :: AllocationInfo a ) ; } ; interface XfEventFilter ; interface XfViewer ; interface XfGlyphTraversal : XfFrescoObject { enum Operation_ { draw , pick_top , pick_any , pick_all , other } ; Operation_ op ( ) ; Operation_ swap_op ( in Operation_ op ) ; boolean is_pick_op ( ) ; void begin_viewer ( in XfViewer v ) ; void end_viewer ( ) ; XfEventFilter event_filter ( ) ; void traverse_child ( in XfGlyphOffset o , in XfRegion allocation ) ; void visit ( ) ; XfGlyphTraversal trail ( ) ; XfGlyph current_glyph ( ) ; XfGlyphOffset current_offset ( ) ; XfViewer current_viewer ( ) ; boolean forward ( ) ; boolean backward ( ) ; XfDisplay current_display ( ) ; XfScreen current_screen ( ) ; XfWindow current_window ( ) ; attribute XfPainter current_painter ; XfRegion allocation ( ) ; boolean bounds ( out XfVertex lower , out XfVertex upper , out XfVertex origin ) ; boolean allocation_is_visible ( ) ; XfTransform current_transform ( ) ; XfDamage damaged ( ) ; void hit ( ) ; attribute long hit_info ; XfGlyphTraversal picked ( ) ; void clear ( ) ; } ; typedef string OesKey ; interface OesFactory { Object create ( ) ; } ; interface OesFactoryFinder { void remember ( in OesKey external_form_id , in OesFactory f ) ; OesFactory find ( in OesKey external_form_id ) ; } ; interface OesIdentifiableObject { boolean is_identical ( in OesIdentifiableObject o ) ; readonly attribute unsigned long constant_random_id ; readonly attribute OesKey external_form_id ; } ; interface OesStreamIO ; interface OesStreamable : OesIdentifiableObject { void externalize_to_stream ( in OesStreamIO target ) ; void internalize_from_stream ( in OesStreamIO source , in OesFactoryFinder finder ) ; } ; interface OesStreamIO { void write_string ( in string value ) ; void write_char ( in char value ) ; void write_octet ( in octet value ) ; void write_unsigned_long ( in unsigned long value ) ; void write_unsigned_short ( in unsigned short value ) ; void write_long ( in long value ) ; void write_short ( in short value ) ; void write_float ( in float value ) ; void write_double ( in double value ) ; void write_object ( in OesStreamable value ) ; OesStreamable read_object ( in OesFactoryFinder there , in OesStreamable value ) ; } ; interface OesStream { void externalize ( in OesStreamable theObject ) ; OesStreamable internalize ( in OesFactoryFinder there ); void begin_context ( ); void end_context ( ) ; void flush ( ) ; } ; interface OesGenericStream : OesStream { attribute OesStreamIO stream_io ; } ; interface OesGenericStreamOesFactory { OesGenericStream create ( ) ; } ; interface XfFocus ; interface XfMenuItem ; interface XfViewer : XfGlyph { XfViewer parent_viewer ( ) ; XfViewer next_viewer ( ) ; XfViewer prev_viewer ( ) ; XfViewer first_viewer ( ) ; XfViewer last_viewer ( ) ; void append_viewer ( in XfViewer v ) ; void prepend_viewer ( in XfViewer v ) ; void insert_viewer ( in XfViewer v ) ; void replace_viewer ( in XfViewer v ) ; void remove_viewer ( ) ; void set_viewer_links ( in XfViewer parent , in XfViewer prev , in XfViewer next ) ; void set_first_viewer ( in XfViewer v ) ; void set_last_viewer ( in XfViewer v ) ; XfFocus request__focus ( in XfViewer request_or , in boolean temporary ) ; boolean receive_focus ( in XfFocus f , in boolean primary ) ; void lose_focus ( in XfFocus f , in boolean primary , in boolean temporary ) ; boolean first_focus ( ) ; boolean last_focus ( ) ; boolean next_focus ( ) ; boolean prev_focus ( ) ; boolean handle ( in XfGlyphTraversal t , in XfEvent e ) ; void close ( ) ; } ; interface XfFocus : XfFrescoObject { void map_keystroke ( in XfEvent :: KeySym k , in XfAction a ) ; void map_keychord ( in XfEvent :: KeyChord k , in XfAction a ) ; XfMenuItem menu_bar ( ) ; } ; interface XfMenuBar ; interface XfPopupMenu ; interface XfTelltale ; interface XfMenuItem : XfFrescoObject { enum TypeId { submenu , leaf , separator } ; TypeId type ( ) ; long count ( ) ; XfMenuItem item ( in long i ) ; attribute XfMenuItem default_item ; void prepend ( in XfMenuItem item ) ; void append ( in XfMenuItem item ) ; void insert ( in long i , in XfMenuItem item ) ; void remove ( in long i ) ; void remove_all ( ) ; attribute XfMenuItem parent ; enum Zone { mark , label , shortcut } ; XfGlyph zone_glyph ( in Zone z ) ; XfEvent :: KeySym mnemonic ( ) ; XfEvent :: KeyChord accelerator ( ) ; void enable ( in boolean e ) ; boolean enabled ( ) ; XfTelltale state ( ) ; attribute XfAction item_action ; XfMenuBar menu_bar ( ) ; XfPopupMenu pulldown_menu ( ) ; XfPopupMenu pullright_menu ( ) ; typedef sequence < XfMenuItem > Path ; } ; interface XfMenuManager : XfFrescoObject { XfMenuItem root ( ) ; void open_menus ( in XfWindow w ) ; void close_menus ( ) ; XfScreen filter_screen ( ) ; XfTag add_window ( in XfWindow w ) ; void remove_window ( in XfTag t ) ; void select ( in XfMenuItem item , in boolean flap ) ; XfMenuItem selection ( ) ; void unselect ( ) ; void activate ( ) ; } ; interface XfMenuBar : XfViewer { XfMenuManager menu_manager ( ) ; } ; interface XfPopupMenu : XfFrescoObject { void menu_manager ( in XfMenuManager m ) ; void show ( in XfRegion a ) ; void select ( in XfMenuItem :: Path p , in boolean flap ) ; void selection ( inout XfMenuItem :: Path p ) ; void hide ( ) ; } ; interface XfTelltale : XfFrescoObject { enum Flag { enabled , visible , active , chosen , running , stepping , choosable , toggle } ; void set ( in XfTelltale :: Flag f ) ; void clear ( in XfTelltale :: Flag f ) ; boolean test ( in XfTelltale :: Flag f ) ; attribute XfTelltale current ; } ;