interfaces/AnnoTools.idl Source File

AnnoTools.idl
Go to the documentation of this file.
1 
8 #include "xpcom.idl"
9 #ifndef IN_CELLML_MODULE
10 #define USERDATA_NEEDED
11 #endif
12 #include "CellML_APISPEC.idl"
13 
17 module cellml_services
18 {
22  interface StringAnnotation
24  {
28  attribute wstring value;
29  };
30 #pragma terminal-interface
31 
35  interface ObjectAnnotation
37  {
41  attribute XPCOM::IObject value;
42  };
43 #pragma terminal-interface
44 
55  interface AnnotationSet
57  {
61  readonly attribute wstring prefixURI;
62 
72  void setStringAnnotation(in cellml_api::CellMLElement element,
73  in wstring key,
74  in wstring value);
75 
81  wstring getStringAnnotation(in cellml_api::CellMLElement element,
82  in wstring key);
83 
91  wstring getStringAnnotationWithDefault(in cellml_api::CellMLElement element,
92  in wstring key, in wstring defval);
93 
94 
105  void setObjectAnnotation(in cellml_api::CellMLElement element,
106  in wstring key,
107  in XPCOM::IObject value);
108 
114  XPCOM::IObject getObjectAnnotation(in cellml_api::CellMLElement element,
115  in wstring key);
116 
124  XPCOM::IObject getObjectAnnotationWithDefault
125  (in cellml_api::CellMLElement element, in wstring key,
126  in XPCOM::IObject defval);
127  };
128 
135  {
136  AnnotationSet createAnnotationSet();
137  };
138 };