(file) Return to todo.txt CVS log (file) (dir) Up to [Pegasus] / pegasus / doc

  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.4     -	Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in Rep).
  8           
  9 mike  1.1 Topical To-Do List
 10           ==================
 11           
 12           -   Instances:
 13           
 14               -   Implement CIMRepository::getProperty()
 15           
 16               -   Implement CIMRepository::setProperty()
 17           
 18               -   Implement CIMRepository::deleteInstance()
 19           
 20               -   Implement CIMRepository::modifyInstance()
 21           
 22               -   Implement CIMRepository::enumerateInstances()
 23           
 24               -   Implement CIMRepository::enumerateInstanceNames()
 25           
 26               -   Handle inheritance in all instance operations.
 27           
 28               -	Double check that all these operations work across protocol.
 29           
 30 mike  1.1     -   Check that they have keys during validation.
 31           
 32           -   Associations:
 33           
 34               -   Implement CIMRepository::referencesOf()
 35           
 36               -   Implement CIMRepository::associatorsOf()
 37           
 38               -	Implement protocol stubs for these operations.
 39           
 40           -   Exceptions:
 41           
 42 mike  1.2     -   Force __FILE__ and __LINE__ argument on every usage of CIMException.
 43           
 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.

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2