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