1 mike 1.1
2 Topical To-Do List
3 ==================
4
5 - Instances:
6
7 - Implement CIMRepository::getProperty()
8
9 - Implement CIMRepository::setProperty()
10
11 - Implement CIMRepository::deleteInstance()
12
13 - Implement CIMRepository::modifyInstance()
14
15 - Implement CIMRepository::enumerateInstances()
16
17 - Implement CIMRepository::enumerateInstanceNames()
18
19 - Handle inheritance in all instance operations.
20
21 - Double check that all these operations work across protocol.
22 mike 1.1
23 - Check that they have keys during validation.
24
25 - Associations:
26
27 - Implement CIMRepository::referencesOf()
28
29 - Implement CIMRepository::associatorsOf()
30
31 - Implement protocol stubs for these operations.
32
33 - Exceptions:
34
35 - Clean up and consolidate exception classes.
36
37 - Propagate underlying error messages across the CIM protocol.
38
39 - References:
40
41 - Validate arguments to CIMReference compound constructor and modifiers.
42 (namespaces, hosts, classnames, and keybindings)
43 mike 1.1
44 - Be sure that escape sequences are handled inside of object names. For
45 example:
46
47 X.key1="Hello \"You\""
48
49 - Protocol:
50
51 - Improve protocol tracing to show messages in both directions.
52
53 - The TCPChannel::writeN() method blocks when the client and server
54 are in the same process. That is because the client cannot read
55 anything as long as writeN() is blocked on a synchronous write.
56
57 - Figure out how to handle getProperty() return type.
58
59 - Provide ACE Channel implementation (for porting purposes)?
60
61 - Handle PARAMETER.REFARRAY in Procotol?
62
63 - Ignore extraneous XML elements (loosely valid).
64 mike 1.1
65 - Porting:
66
67 - Replace "std::something" with "STD(something)"
68
69 - Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
70
71 - Aesthetics/Consistency/Usability:
72
73 - Change getLength() and getSize() to just size(): "Brevity is the soul
74 of genius and of Lingerie".
75
76 - Add methods to get objects by their names, in addition to index. For
77 example:
78
79 CIMProperty CIMClass::getProperty(const String& name);
80
81 - Perform walkthrough to expose consistency problems.
82
83 - Distinguish between private and public classes (otherwise, users may
84 come to depend on classes with unstable interfaces).
85 mike 1.1
86 - Documentation:
87
88 - Suggest newlines after methods.
89
90 - Suggest use of "/** ... */" instead of "///"
91
92 - Refine header file documentation.
93
94 - Write Pegasus Architecture Paper.
95
96 - Integrate DOC++ with make system (put all docs in doc tree):
97
98 - Namespaces:
99
100 - Implement create and destroy namespace (according to the standard).
101
102 - Providers
103
104 - Add CIM-Server handles to provider interface.
105
106 mike 1.1 - Implement MOF provider registration scheme (according to the standard).
107
108 - WBEM Query Language
109
110 - Find someone to work on standard.
111
112 - Implement leve-1 parser.
113
114 - MOF compiler:
115
116 - Work with Bob to identify work items.
117
118 - Threading
119
120 - Write thread queuing document (input and output thread queue per
121 provider).
122
123 - Implement queuing.
124
125 - Make reference counted objects thread safe (Mutexing and atomic
126 increments).
127 mike 1.1
128 - Connectors
129
130 - Work out basic concepts (write paper).
131
132 - Package up pegasus in Install Shield application.
133
134
135 - Install
136
137 - Need install mechanism for Unix and Windows.
138
139 - Interoperability
140
141 - Fix reported bugs.
142
143 - Internationalization
144
145 - Handle UCS2 characters in XML (parsing and writing).
146
147 - Repository:
148 mike 1.1
149 - Export to MOF.
150
151 - Miscellaneous
152
153 - Figure out how to handle CIM null values.
154
155 - Generalize iteration.
156
157 - Figure out how inheritance of keys works.
158
159 - Investiage weak assocations.
160
161 - Provide conversions between DateTime and time_t.
162
163 - Constraint hanlding
164
165 - Enforce constraint qualifiers.
166
167 - Disallow resetting size of fixed length arrays.
168
169 mike 1.1 - Optimization/Tuning
170
171 - Shrink object sizes.
172
173 - Use lighter I/O system (than C++ streams).
174
175 - Run Purify on all sources (port to Sun first).
176
177 - Optimize clear method on arrays (to not release memory).
178
179 - Porting
180
181 - Port to Solaris
182
183 - Port to HPUX
184
185 - Port to AIX
186
187 - Testing
188
189 - Run Purify on all sources (port to Sun first).
190 mike 1.1
191 - Run CIM/XML test suite.
192
193 - Server
194
195 - Use Service class in cimserver
196
197 - Implement Service class on Unix (daemonization from Comer book).
198
199 Short-term Items
200 ================
201
202 - Make HashTable take Equal template function argument.
203
204 - Make InheritanceTree case-insensitive.
|