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
|
/*
* bonobo-moniker.idl: Implements an object naming and resolution interface
*
* Copyright (C) 2000 Helix Code, Inc.
*
* Authors:
* Michael Meeks (michael@helixcode.com)
* Ettore Perazzoli (ettore@helixcode.com)
*/
#ifndef BONOBO_MONIKER_IDL
#define BONOBO_MONIKER_IDL
#include <Bonobo_Activation_types.idl>
#include "Bonobo_Unknown.idl"
module Bonobo {
typedef long ResolveFlag;
const ResolveFlag MONIKER_ALLOW_USER_INTERACTION = 1;
struct ResolveOptions {
ResolveFlag flags;
long timeout; /* in ms */
};
interface Moniker : Bonobo::Unknown {
exception InterfaceNotFound {};
exception TimeOut {};
exception InvalidSyntax {};
exception UnknownPrefix {};
/**
* getParent:
*
* get the parent moniker.
*/
Moniker getParent ();
/**
* setParent:
* @parent: parent moniker
*
* sets the parent moniker.
*/
void setParent (in Moniker parent);
/**
* getName:
*
* Returns a human readable representation of the Moniker
*/
string getName ()
raises (InvalidSyntax);
/**
* setName:
* @name: the display name
*
* set the name of the moniker. This method parses the whole
* name and constructs the moniker chain.
*/
void setName (in string name)
raises (InvalidSyntax, UnknownPrefix);
/**
* resolve:
* @options: resolution options
* @inferface: what interface we want from the result
*
* Resolves a moniker; this returns a reference to the
* activated object described by the moniker
*/
Unknown resolve (in ResolveOptions options,
in string requestedInterface)
raises (InterfaceNotFound,
TimeOut,
GeneralError);
/**
* equal:
* @name: the name of another moniker
*
* Compares the full moniker with this @name,
* returns 0 if not equal, else the number of chars swallowed
* by the compare.
*/
long equal (in string name);
void unImplemented1 ();
void unImplemented2 ();
};
interface MonikerExtender : Bonobo::Unknown {
/**
* resolve:
* @m: the moniker we are about to extend
* @options: resolve options
* @name: the name of 'm' by itself eg. 'file:/tmp/a'
* @requested_interface: the interface we want to get back
*
* The interface for a later extension to a moniker that allows it
* to be resolved against new and exotic interfaces.
*
* Returns: The interface requested, or CORBA_OBJECT_NIL.
*/
Unknown resolve (in Moniker m,
in ResolveOptions options,
in string name,
in string requestedInterface)
raises (Moniker::InterfaceNotFound,
Moniker::TimeOut,
GeneralError);
void unImplemented1 ();
void unImplemented2 ();
void unImplemented3 ();
void unImplemented4 ();
};
};
#endif /* BONOBO_MONIKER_IDL */
|