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