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