/home/andrew/Documents/cellml-api-doxygen/interfaces/CGRS.idl Source File

CGRS.idl
Go to the documentation of this file.
1 #ifndef _INCLUDED_CRGS_IDL
2 #define _INCLUDED_CRGS_IDL
3 #include "xpcom.idl"
4 
10 module CGRS
11 {
12  interface GenericAttribute;
13  interface GenericMethod;
14  interface GenericValue;
15  interface GenericInterface;
16  interface StringValue;
17  interface WStringValue;
18  interface ShortValue;
19  interface LongValue;
20  interface LongLongValue;
21  interface UShortValue;
22  interface ULongValue;
23  interface ULongLongValue;
24  interface FloatValue;
25  interface DoubleValue;
26  interface BooleanValue;
27  interface CharValue;
28  interface OctetValue;
29  interface SequenceValue;
30  interface SequenceType;
31  interface EnumValue;
32  interface EnumType;
33  interface ObjectValue;
34 
38  typedef sequence<GenericValue> ValueSequence;
39 
40  exception CGRSError {};
41  interface GenericType;
42 
47  interface GenericsService
49  {
60  void loadGenericModule(in string aModulePath) raises(CGRSError);
61 
68  GenericValue getBootstrapByName(in string aBootstrapName) raises(CGRSError);
69 
76  GenericInterface getInterfaceByName(in string aInterfaceName) raises(CGRSError);
77 
81  StringValue makeString(in string val);
82 
86  WStringValue makeWString(in wstring val);
87 
91  ShortValue makeShort(in short val);
92 
96  LongValue makeLong(in long val);
97 
101  LongLongValue makeLongLong(in long long val);
102 
106  UShortValue makeUShort(in unsigned short val);
107 
111  ULongValue makeULong(in unsigned long val);
112 
116  ULongLongValue makeULongLong(in unsigned long long val);
117 
121  FloatValue makeFloat(in float val);
122 
126  DoubleValue makeDouble(in double val);
127 
131  BooleanValue makeBoolean(in boolean val);
132 
136  CharValue makeChar(in char val);
137 
141  OctetValue makeOctet(in octet val);
142 
146  SequenceValue makeSequence(in GenericType innerType);
147 
151  EnumValue makeEnumFromString(in EnumType etype,
152  in string name);
153 
157  EnumValue makeEnumFromIndex(in EnumType etype,
158  in long index);
159 
163  GenericValue makeObject(in XPCOM::IObject value);
164 
168  GenericValue makeVoid();
169  };
170 #pragma terminal-interface
171 
178  {
182  readonly attribute long baseCount;
183 
190  GenericInterface getBase(in long aBaseNumber) raises(CGRSError);
191 
195  readonly attribute long attributeCount;
196 
203  GenericAttribute getAttributeByIndex(in long aAttributeNumber) raises(CGRSError);
204 
211  GenericAttribute getAttributeByName(in string aAttributeName) raises(CGRSError);
212 
216  readonly attribute long operationCount;
217 
224  GenericMethod getOperationByIndex(in long aOperationNumber) raises(CGRSError);
225 
232  GenericMethod getOperationByName(in string aOperationName) raises(CGRSError);
233  };
234 #pragma terminal-interface
235 
240  interface GenericType
242  {
248  readonly attribute string asString;
249  };
250 
254  interface SequenceType
255  : GenericType
256  {
261  readonly attribute GenericType innerType;
262  };
263 #pragma terminal-interface
264 
269  interface EnumType
270  : GenericType
271  {
275  readonly attribute long maxIndex;
276 
281  string indexToName(in long index) raises(CGRSError);
282 
287  long nameToIndex(in string name) raises(CGRSError);
288  };
289 #pragma terminal-interface
290 
294  interface GenericValue
296  {
300  readonly attribute GenericType typeOfValue;
301  };
302 
306  interface StringValue
307  : GenericValue
308  {
312  attribute string asString;
313  };
314 #pragma terminal-interface
315 
319  interface WStringValue
320  : GenericValue
321  {
325  attribute wstring asWString;
326  };
327 #pragma terminal-interface
328 
332  interface ShortValue
333  : GenericValue
334  {
338  attribute short asShort;
339  };
340 #pragma terminal-interface
341 
345  interface LongValue
346  : GenericValue
347  {
351  attribute long asLong;
352  };
353 #pragma terminal-interface
354 
358  interface LongLongValue
359  : GenericValue
360  {
364  attribute long long asLongLong;
365  };
366 #pragma terminal-interface
367 
371  interface UShortValue
372  : GenericValue
373  {
377  attribute unsigned short asUShort;
378  };
379 #pragma terminal-interface
380 
384  interface ULongValue
385  : GenericValue
386  {
390  attribute unsigned long asULong;
391  };
392 #pragma terminal-interface
393 
397  interface ULongLongValue
398  : GenericValue
399  {
403  attribute unsigned long long asULongLong;
404  };
405 #pragma terminal-interface
406 
410  interface FloatValue
411  : GenericValue
412  {
416  attribute float asFloat;
417  };
418 #pragma terminal-interface
419 
423  interface DoubleValue
424  : GenericValue
425  {
429  attribute double asDouble;
430  };
431 #pragma terminal-interface
432 
436  interface BooleanValue
437  : GenericValue
438  {
442  attribute boolean asBoolean;
443  };
444 #pragma terminal-interface
445 
449  interface CharValue
450  : GenericValue
451  {
455  attribute char asChar;
456  };
457 #pragma terminal-interface
458 
462  interface OctetValue
463  : GenericValue
464  {
468  attribute octet asOctet;
469  };
470 #pragma terminal-interface
471 
475  interface ObjectValue
476  : GenericValue
477  {
482  };
483 #pragma terminal-interface
484 
491  : GenericValue
492  {
509  GenericValue invokeOnInterface(in string interfaceName, in string methodName,
510  in ValueSequence inValues, out ValueSequence outValues,
511  out boolean wasException);
512  };
513 #pragma user-callback
514 
519  interface SequenceValue
520  : GenericValue
521  {
525  readonly attribute long valueCount;
526 
531  GenericValue getValueByIndex(in long index) raises(CGRSError);
532 
537  void appendValue(in GenericValue v) raises(CGRSError);
538  };
539 #pragma terminal-interface
540 
544  interface EnumValue
545  : GenericValue
546  {
550  attribute string asString;
551 
555  attribute long asLong;
556  };
557 #pragma terminal-interface
558 
564  {
568  readonly attribute boolean isReadonly;
569 
573  readonly attribute string name;
574 
578  readonly attribute GenericType type;
579 
583  readonly attribute GenericMethod getter;
584 
589  readonly attribute GenericMethod setter;
590  };
591 #pragma terminal-interface
592 
598  {
603  readonly attribute boolean isIn;
604 
610  readonly attribute boolean isOut;
611 
615  readonly attribute string name;
616 
620  readonly attribute GenericType type;
621  };
622 #pragma terminal-interface
623 
627  typedef sequence<GenericParameter> ParameterSequence;
628 
632  interface GenericMethod
634  {
638  readonly attribute ParameterSequence parameters;
639 
643  readonly attribute GenericType returnType;
644 
655  GenericValue invoke(in ObjectValue invokeOn, in ValueSequence inValues, out ValueSequence outValues, out boolean wasException);
656  };
657 #pragma terminal-interface
658 };
659 #endif