7 - Implement CIMRepository::getProperty()
9 - Implement CIMRepository::setProperty()
11 - Implement CIMRepository::deleteInstance()
13 - Implement CIMRepository::modifyInstance()
15 - Implement CIMRepository::enumerateInstances()
17 - Implement CIMRepository::enumerateInstanceNames()
19 - Handle inheritance in all instance operations.
21 - Double check that all these operations work across protocol.
23 - Check that they have keys during validation.
27 - Implement CIMRepository::referencesOf()
29 - Implement CIMRepository::associatorsOf()
31 - Implement protocol stubs for these operations.
35 - Clean up and consolidate exception classes.
37 - Propagate underlying error messages across the CIM protocol.
41 - Validate arguments to CIMReference compound constructor and modifiers.
42 (namespaces, hosts, classnames, and keybindings)
44 - Be sure that escape sequences are handled inside of object names. For
47 X.key1="Hello \"You\""
51 - Improve protocol tracing to show messages in both directions.
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.
57 - Figure out how to handle getProperty() return type.
59 - Provide ACE Channel implementation (for porting purposes)?
61 - Handle PARAMETER.REFARRAY in Procotol?
63 - Ignore extraneous XML elements (loosely valid).
67 - Replace "std::something" with "STD(something)"
69 - Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
71 - Aesthetics/Consistency/Usability:
73 - Change getLength() and getSize() to just size(): "Brevity is the soul
74 of genius and of Lingerie".
76 - Add methods to get objects by their names, in addition to index. For
79 CIMProperty CIMClass::getProperty(const String& name);
81 - Perform walkthrough to expose consistency problems.
83 - Distinguish between private and public classes (otherwise, users may
84 come to depend on classes with unstable interfaces).
88 - Suggest newlines after methods.
90 - Suggest use of "/** ... */" instead of "///"
92 - Refine header file documentation.
94 - Write Pegasus Architecture Paper.
96 - Integrate DOC++ with make system (put all docs in doc tree):
100 - Implement create and destroy namespace (according to the standard).
104 - Add CIM-Server handles to provider interface.
106 - Implement MOF provider registration scheme (according to the standard).
108 - WBEM Query Language
110 - Find someone to work on standard.
112 - Implement leve-1 parser.
116 - Work with Bob to identify work items.
120 - Write thread queuing document (input and output thread queue per
125 - Make reference counted objects thread safe (Mutexing and atomic
130 - Work out basic concepts (write paper).
132 - Package up pegasus in Install Shield application.
137 - Need install mechanism for Unix and Windows.
143 - Internationalization
145 - Handle UCS2 characters in XML (parsing and writing).
153 - Figure out how to handle CIM null values.
155 - Generalize iteration.
157 - Figure out how inheritance of keys works.
159 - Investiage weak assocations.
161 - Provide conversions between DateTime and time_t.
163 - Constraint hanlding
165 - Enforce constraint qualifiers.
167 - Disallow resetting size of fixed length arrays.
169 - Optimization/Tuning
171 - Shrink object sizes.
173 - Use lighter I/O system (than C++ streams).
175 - Run Purify on all sources (port to Sun first).
177 - Optimize clear method on arrays (to not release memory).
189 - Run Purify on all sources (port to Sun first).
191 - Run CIM/XML test suite.