version 1.8, 2001/02/12 15:14:47
|
version 1.24, 2001/04/26 19:42:07
|
|
|
|
|
TO-DO List | TO-DO List |
========== | ========== |
| |
|
- Instances: |
| |
------------------------------------------------------------------------ |
- Implement CIMRepository::getProperty() |
| |
Now: |
- Implement CIMRepository::setProperty() |
| |
- Get ACE working on Tandem (or remove ACE from Pegasus). |
- Implement CIMRepository::deleteInstance() |
- Port Pegasus to Tandem (look for Tandem machine at BMC). |
|
- Instance repository. |
- Implement CIMRepository::modifyInstance() |
- Finalize provider interface. |
|
- Associations (basic). |
- Implement CIMRepository::enumerateInstances() |
- Provider registration (by the standard). |
|
- MOF compiler (finalize). |
- Implement CIMRepository::enumerateInstanceNames() |
- Write short paper on Pegasus data objects. |
|
- Integrate DOC++ with make system. |
- Handle inheritance in all instance operations. |
- Implement the process provider. |
|
- Compaq requested SQL level-1 description. |
- Double check that all these operations work across protocol. |
- Get rid of ACE (required if no ACE on Tandem). |
|
- Need query capability for Compaq. |
- Check that they have keys during validation. |
- Threading (and process forking). |
|
- Implement protocol module (the default uses ACE). |
- Associations: |
- Package up pegasus in Install Shield application. |
|
|
- Implement CIMRepository::referencesOf() |
|
|
|
- Implement CIMRepository::associatorsOf() |
| |
|
- Implement protocol stubs for these operations. |
| |
------------------------------------------------------------------------ |
- Exceptions: |
| |
(A) Modify clear() methods on Array and String so that they don't |
- Clean up and consolidate exception classes. |
release the old resource (more efficient for GetLine()). Add |
|
a resize() method. |
|
| |
(A) Handle escaping of strings inside object names. Example: |
- Propagate underlying error messages across the CIM protocol. |
|
|
|
- References: |
|
|
|
- Validate arguments to CIMReference compound constructor and modifiers. |
|
(namespaces, hosts, classnames, and keybindings) |
|
|
|
- Be sure that escape sequences are handled inside of object names. For |
|
example: |
| |
X.key1="Hello \"You\"" | X.key1="Hello \"You\"" |
| |
(A) Change make system to rename dll's before link so that they |
- Protocol: |
can be used by the server. |
|
|
- Improve protocol tracing to show messages in both directions. |
|
|
|
- The TCPChannel::writeN() method blocks when the client and server |
|
are in the same process. That is because the client cannot read |
|
anything as long as writeN() is blocked on a synchronous write. |
|
|
|
- Figure out how to handle getProperty() return type. |
|
|
|
- Provide ACE Channel implementation (for porting purposes)? |
|
|
|
- Handle PARAMETER.REFARRAY in Procotol? |
|
|
|
- Ignore extraneous XML elements (loosely valid). |
|
|
|
- Porting: |
|
|
|
- Replace "std::something" with "STD(something)" |
| |
(A) Hide setPropagated() and setClassOrigin() methods (only the resolve |
- Replace "using namespace std" with "USING_NAMESPACE_PEGASUS" |
method should touch these). |
|
| |
(A) Notice that there is a bug where you select Scope::REFERENCE and |
- Aesthetics/Consistency/Usability: |
and the validation routines still say the scope is wrong for |
|
qualifiers applied actual references (they are checking for |
|
property instead). |
|
| |
(A) There is an odering problem when applying the qualifiers with |
- Change getLength() and getSize() to just size(): "Brevity is the soul |
association scope to classes. If the association qualifier does not |
of genius and of Lingerie". |
come first, then application of prior qualifiers fail. |
|
Checking this should be moved to class resolution. |
|
| |
(A) Implement instances. |
- Add methods to get objects by their names, in addition to index. For |
|
example: |
| |
(A) Providers. |
CIMProperty CIMClass::getProperty(const String& name); |
| |
------------------------------------------------------------------------ |
- Perform walkthrough to expose consistency problems. |
| |
(B) Finish other CIM/HTTP protocol operations. |
- Distinguish between private and public classes (otherwise, users may |
|
come to depend on classes with unstable interfaces). |
| |
(B) Use the description that comes back with an error code in the XML |
- Documentation: |
protocol. Perhaps it should become an extra message field of |
|
XmlException. |
|
| |
(B) Source documentation. |
- Suggest newlines after methods. |
|
|
|
- Suggest use of "/** ... */" instead of "///" |
|
|
|
- Refine header file documentation. |
|
|
|
- Write Pegasus Architecture Paper. |
|
|
|
- Integrate DOC++ with make system (put all docs in doc tree): |
|
|
|
- Namespaces: |
|
|
|
- Implement create and destroy namespace (according to the standard). |
|
|
|
- Providers |
|
|
|
- Add CIM-Server handles to provider interface. |
|
|
|
- Implement MOF provider registration scheme (according to the standard). |
|
|
|
- WBEM Query Language |
|
|
|
- Find someone to work on standard. |
|
|
|
- Implement leve-1 parser. |
|
|
|
- MOF compiler: |
|
|
|
- Work with Bob to identify work items. |
|
|
|
- Threading |
|
|
|
- Write thread queuing document (input and output thread queue per |
|
provider). |
|
|
|
- Implement queuing. |
|
|
|
- Make reference counted objects thread safe (Mutexing and atomic |
|
increments). |
|
|
|
- Connectors |
|
|
|
- Work out basic concepts (write paper). |
|
|
|
- Package up pegasus in Install Shield application. |
| |
(B) Put README in each directory. |
|
| |
(B) Handle UCS2 characters in XML (parsing and writing). |
- Install |
| |
(B) Check for overflow on the number of attributes in XML. |
- Need install mechanism for Unix and Windows. |
| |
(B) Handle PARAMETER.REFARRAY in XML. |
- Interoperability |
| |
(B) Add validNamespace() method and use it. |
- Fix reported bugs. |
| |
------------------------------------------------------------------------ |
- Internationalization |
| |
(C) Suppress error message printed by ACE caused by constructing an |
- Handle UCS2 characters in XML (parsing and writing). |
address from a non existent host. |
|
| |
(C) Ignore extraneous XML elements (loosely valid). |
- Repository: |
| |
(C) Get rid of fullyQualified flag. |
- Export to MOF. |
| |
(C) Handling of hexadecimal integer values. |
- Miscellaneous |
| |
(C) VALUE.REFERENCE within INSTANCENAME and KEYBINDING. |
- Figure out how to handle CIM null values. |
| |
(C) Resolve whether MOF is a requirement. |
- Generalize iteration. |
| |
(C) Handle case sensitivity of CIM identifiers. |
- Figure out how inheritance of keys works. |
| |
(C) Figure out how to handle CIM null values. |
- Investiage weak assocations. |
| |
(C) Make iteration scheme more general. |
- Provide conversions between DateTime and time_t. |
| |
(C) Develop XML repository importation mechanism. |
- Constraint hanlding |
| |
(C) Move internal headers to ./internal directory |
- Enforce constraint qualifiers. |
| |
(C) Split up XxxRep objects from Xxx objects. |
- Disallow resetting size of fixed length arrays. |
| |
(C) Handle case insentive requirement on repository file names. |
- Optimization/Tuning |
| |
(C) Devise a way to detect whether a class has instances. |
- Shrink object sizes. |
| |
(C) Cleanup of execeptions. |
- Use lighter I/O system (than C++ streams). |
| |
(C) Verify that fixed length arrays are properly handled. |
- Run Purify on all sources (port to Sun first). |
| |
(C) Check for null string pointers in String class. |
- Optimize clear method on arrays (to not release memory). |
| |
(C) Verify that instances are property keyed (during validation). |
- Porting |
| |
(C) Thread safety. |
- Port to Solaris |
| |
(C) Use UTF8 for strings. |
- Port to HPUX |
| |
(C) Shrink object sizes. |
- Port to AIX |
| |
(C) Use lighter I/O system (get rid of C++ streams). |
- Testing |
| |
(C) Provide conversion between DateTime and time_t. |
- Run Purify on all sources (port to Sun first). |
| |
(C) Purify source. |
- Run CIM/XML test suite. |
| |
(C) Improve the representation of fixed arrays (is that pesky fixed-array |
|
flag really necessary?) |
|