Return to DefinitionofCommandLineClient.htm CVS log | Up to [Pegasus] / pegasus / doc / WorkPapers |
File: [Pegasus] / pegasus / doc / WorkPapers / DefinitionofCommandLineClient.htm
(download)
/
(as text)
Revision: 1.2, Mon Feb 18 14:40:48 2002 UTC (22 years, 4 months ago) by karl Branch: MAIN CVS Tags: test, preBug9676, postBug9676, pep_88, pegasus25BeforeLicenseUpdate, mday-merge-start, mday-merge-pegasus/src/Pegasus/Server, mday-merge-pegasus/src/Pegasus/Common, mday-2-0-patches, local, VERSION_2_1_RELEASE_HEAD, VERSION_2_1_RELEASE_BRANCH, VERSION_2_1_RELEASE, VERSION_2_1_1_RELEASE, VERSION_2_01_01, VERSION_2_00_RC_4, VERSION_2_00_RC_3, VERSION_2_00_RC_2, VERSION_2_00_RC_1, VERSION_2_00_BRANCH, VERSION_1_10, VERSION_1_09, VERSION_1_08, TEST, TASK_PEP328_SOLARIS_NEVADA_PORT, TASK_PEP317_1JUNE_2013, TASK_PEP233_EmbeddedInstSupport-merge_out_trunk, TASK_BUG_5314_IPC_REFACTORING_ROOT, TASK_BUG_5314_IPC_REFACTORING_BRANCH, TASK_BUG_5314_IPC_REFACTORING-V1, TASK_BUG_5191_QUEUE_CONSOLIDATION_ROOT, TASK_BUG_5191_QUEUE_CONSOLIDATION_BRANCH, TASK-TASK_PEP362_RestfulService_branch-root, TASK-TASK_PEP362_RestfulService_branch-merged_out_from_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_to_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_from_branch, TASK-TASK_PEP362_RestfulService_branch-branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-root, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_to_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_from_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_to_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_from_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-branch, TASK-PEP362_RestfulService-root, TASK-PEP362_RestfulService-merged_out_to_branch, TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP362_RestfulService-merged_in_to_trunk, TASK-PEP362_RestfulService-merged_in_from_branch, TASK-PEP362_RestfulService-branch, TASK-PEP348_SCMO-root, TASK-PEP348_SCMO-merged_out_to_branch, TASK-PEP348_SCMO-merged_out_from_trunk, TASK-PEP348_SCMO-merged_in_to_trunk, TASK-PEP348_SCMO-merged_in_from_branch, TASK-PEP348_SCMO-branch, TASK-PEP328_SOLARIS_NEVADA_PORT_v2-root, TASK-PEP328_SOLARIS_NEVADA_PORT_v2-branch, TASK-PEP328_SOLARIS_NEVADA_PORT-root, TASK-PEP328_SOLARIS_NEVADA_PORT-branch, TASK-PEP328_SOLARIS_IX86_CC_PORT-root, TASK-PEP328_SOLARIS_IX86_CC_PORT-branch-v2, TASK-PEP328_SOLARIS_IX86_CC_PORT-branch, TASK-PEP317_pullop-root, TASK-PEP317_pullop-merged_out_to_branch, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, TASK-PEP317_pullop-merged_in_from_branch, TASK-PEP317_pullop-branch, TASK-PEP311_WSMan-root, TASK-PEP311_WSMan-branch, TASK-PEP305_VXWORKS-root, TASK-PEP305_VXWORKS-branch-pre-solaris-port, TASK-PEP305_VXWORKS-branch-post-solaris-port, TASK-PEP305_VXWORKS-branch-beta2, TASK-PEP305_VXWORKS-branch, TASK-PEP305_VXWORKS-2008-10-23, TASK-PEP291_IPV6-root, TASK-PEP291_IPV6-branch, TASK-PEP286_PRIVILEGE_SEPARATION-root, TASK-PEP286_PRIVILEGE_SEPARATION-branch, TASK-PEP274_dacim-root, TASK-PEP274_dacim-merged_out_to_branch, TASK-PEP274_dacim-merged_out_from_trunk, TASK-PEP274_dacim-merged_in_to_trunk, TASK-PEP274_dacim-merged_in_from_branch, TASK-PEP274_dacim-branch, TASK-PEP268_SSLClientCertificatePropagation-root, TASK-PEP268_SSLClientCertificatePropagation-merged_out_to_branch, TASK-PEP268_SSLClientCertificatePropagation-merged_out_from_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_to_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_from_branch, TASK-PEP268_SSLClientCertificatePropagation-branch, TASK-PEP267_SLPReregistrationSupport-root, TASK-PEP267_SLPReregistrationSupport-merging_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merging_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merged_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_to_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_from_branch, TASK-PEP267_SLPReregistrationSupport-branch, TASK-PEP250_RPMProvider-root, TASK-PEP250_RPMProvider-merged_out_to_branch, TASK-PEP250_RPMProvider-merged_out_from_trunk, TASK-PEP250_RPMProvider-merged_in_to_trunk, TASK-PEP250_RPMProvider-merged_in_from_branch, TASK-PEP250_RPMProvider-branch, TASK-PEP245_CimErrorInfrastructure-root, TASK-PEP245_CimErrorInfrastructure-merged_out_to_branch, TASK-PEP245_CimErrorInfrastructure-merged_out_from_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_to_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_from_branch, TASK-PEP245_CimErrorInfrastructure-branch, TASK-PEP241_OpenPegasusStressTests-root, TASK-PEP241_OpenPegasusStressTests-merged_out_to_branch, TASK-PEP241_OpenPegasusStressTests-merged_out_from_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_to_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_from_branch, TASK-PEP241_OpenPegasusStressTests-branch, TASK-Bugs5690_3913_RemoteCMPI-root, TASK-Bugs5690_3913_RemoteCMPI-merged_out_to_branch, TASK-Bugs5690_3913_RemoteCMPI-merged_out_from_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_to_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_from_branch, TASK-Bugs5690_3913_RemoteCMPI-branch, TASK-Bug2102_RCMPIWindows-root, TASK-Bug2102_RCMPIWindows-merged_out_to_branch, TASK-Bug2102_RCMPIWindows-merged_out_from_trunk, TASK-Bug2102_RCMPIWindows-merged_in_to_trunk, TASK-Bug2102_RCMPIWindows-merged_in_from_branch, TASK-Bug2102_RCMPIWindows-branch, TASK-Bug2102Final-root, TASK-Bug2102Final-merged_out_to_branch, TASK-Bug2102Final-merged_out_from_trunk, TASK-Bug2102Final-merged_in_to_trunk, TASK-Bug2102Final-merged_in_from_branch, TASK-Bug2102Final-branch, TASK-Bug2021_RemoteCMPIonWindows-root, TASK-Bug2021_RemoteCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RemoteCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RemoteCMPIonWindows-branch, TASK-Bug2021_RCMPIonWindows-root, TASK-Bug2021_RCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RCMPIonWindows-branch, TASK-BUG7240-root, TASK-BUG7240-branch, TASK-BUG7146_SqlRepositoryPrototype-root, TASK-BUG7146_SqlRepositoryPrototype-merged_out_to_branch, TASK-BUG7146_SqlRepositoryPrototype-merged_out_from_trunk, TASK-BUG7146_SqlRepositoryPrototype-merged_in_to_trunk, TASK-BUG7146_SqlRepositoryPrototype-merged_in_from_branch, TASK-BUG7146_SqlRepositoryPrototype-branch, TASK-BUG4011_WinLocalConnect-root, TASK-BUG4011_WinLocalConnect-merged_out_to_branch, TASK-BUG4011_WinLocalConnect-merged_out_from_trunk, TASK-BUG4011_WinLocalConnect-merged_in_to_trunk, TASK-BUG4011_WinLocalConnect-merged_in_from_branch, TASK-BUG4011_WinLocalConnect-branch-New, TASK-BUG4011_WinLocalConnect-branch, STABLE, SLPPERFINST-root, SLPPERFINST-branch, RELEASE_2_9_2-RC2, RELEASE_2_9_2-RC1, RELEASE_2_9_2, RELEASE_2_9_1-RC1, RELEASE_2_9_1, RELEASE_2_9_0-RC1, RELEASE_2_9_0-FC, RELEASE_2_9_0, RELEASE_2_9-root, RELEASE_2_9-branch, RELEASE_2_8_2-RC1, RELEASE_2_8_2, RELEASE_2_8_1-RC1, RELEASE_2_8_1, RELEASE_2_8_0_BETA, RELEASE_2_8_0-RC2, RELEASE_2_8_0-RC1, RELEASE_2_8_0-FC, RELEASE_2_8_0, RELEASE_2_8-root, RELEASE_2_8-branch, RELEASE_2_7_3-RC1, RELEASE_2_7_3, RELEASE_2_7_2-RC1, RELEASE_2_7_2, RELEASE_2_7_1-RC1, RELEASE_2_7_1, RELEASE_2_7_0-RC1, RELEASE_2_7_0-BETA, RELEASE_2_7_0, RELEASE_2_7-root, RELEASE_2_7-branch, RELEASE_2_6_3-RC2, RELEASE_2_6_3-RC1, RELEASE_2_6_3, RELEASE_2_6_2-RC1, RELEASE_2_6_2, RELEASE_2_6_1-RC1, RELEASE_2_6_1, RELEASE_2_6_0-RC1, RELEASE_2_6_0-FC, RELEASE_2_6_0, RELEASE_2_6-root, RELEASE_2_6-branch-clean, RELEASE_2_6-branch, RELEASE_2_5_5-RC2, RELEASE_2_5_5-RC1, RELEASE_2_5_5, RELEASE_2_5_4-RC2, RELEASE_2_5_4-RC1, RELEASE_2_5_4, RELEASE_2_5_3-RC1, RELEASE_2_5_3, RELEASE_2_5_2-RC1, RELEASE_2_5_2, RELEASE_2_5_1-RC1, RELEASE_2_5_1, RELEASE_2_5_0-RC1, RELEASE_2_5_0, RELEASE_2_5-root, RELEASE_2_5-branch, RELEASE_2_4_FC_CANDIDATE_1, RELEASE_2_4_3, RELEASE_2_4_2, RELEASE_2_4_1-BETA3, RELEASE_2_4_1-BETA2, RELEASE_2_4_1-BETA1, RELEASE_2_4_1, RELEASE_2_4_0-RC3, RELEASE_2_4_0-RC2, RELEASE_2_4_0, RELEASE_2_4-root, RELEASE_2_4-branch, RELEASE_2_3_2-testfreeze, RELEASE_2_3_2-root, RELEASE_2_3_2-releasesnapshot, RELEASE_2_3_2-branch-freeze, RELEASE_2_3_2-branch, RELEASE_2_3_1-root, RELEASE_2_3_1-branch, RELEASE_2_3_0-root, RELEASE_2_3_0-msg-freeze, RELEASE_2_3_0-branch, RELEASE_2_2_1-snapshot, RELEASE_2_2_0_0-release, RELEASE_2_2_0-root, RELEASE_2_2_0-branch, RELEASE_2_2-root, RELEASE_2_14_1, RELEASE_2_14_0-RC2, RELEASE_2_14_0-RC1, RELEASE_2_14_0, RELEASE_2_14-root, RELEASE_2_14-branch, RELEASE_2_13_0-RC2, RELEASE_2_13_0-RC1, RELEASE_2_13_0-FC, RELEASE_2_13_0, RELEASE_2_13-root, RELEASE_2_13-branch, RELEASE_2_12_1-RC1, RELEASE_2_12_1, RELEASE_2_12_0-RC1, RELEASE_2_12_0-FC, RELEASE_2_12_0, RELEASE_2_12-root, RELEASE_2_12-branch, RELEASE_2_11_2-RC1, RELEASE_2_11_2, RELEASE_2_11_1-RC1, RELEASE_2_11_1, RELEASE_2_11_0-RC1, RELEASE_2_11_0-FC, RELEASE_2_11_0, RELEASE_2_11-root, RELEASE_2_11-branch, RELEASE_2_10_1-RC1, RELEASE_2_10_1, RELEASE_2_10_0-RC2, RELEASE_2_10_0-RC1, RELEASE_2_10_0, RELEASE_2_10-root, RELEASE_2_10-branch, PRE_LICENSE_UPDATE_2003, PREAUG25UPDATE, POST_LICENSE_UPDATE_2003, POSTAUG25UPDATE, PEP286_PRIVILEGE_SEPARATION_ROOT, PEP286_PRIVILEGE_SEPARATION_CODE_FREEZE, PEP286_PRIVILEGE_SEPARATION_BRANCH, PEP286_PRIVILEGE_SEPARATION_1, PEP244_ServerProfile-root, PEP244_ServerProfile-branch, PEP233_EmbeddedInstSupport-root, PEP233_EmbeddedInstSupport-branch, PEP217_PRE_BRANCH, PEP217_POST_BRANCH, PEP217_BRANCH, PEP214ROOT, PEP214BRANCH, PEP214-root, PEP214-branch, PEP213_SIZE_OPTIMIZATIONS, PEP-214B-root, PEGASUS_FC_VERSION_2_2, PEGASUS_2_5_0_PerformanceDev-string-end, PEGASUS_2_5_0_PerformanceDev-rootlt, PEGASUS_2_5_0_PerformanceDev-root, PEGASUS_2_5_0_PerformanceDev-r2, PEGASUS_2_5_0_PerformanceDev-r1, PEGASUS_2_5_0_PerformanceDev-lit-end, PEGASUS_2_5_0_PerformanceDev-buffer-end, PEGASUS_2_5_0_PerformanceDev-branch, PEGASUS_2_5_0_PerformanceDev-AtomicInt-branch, PEG25_IBM_5_16_05, NPEGASUS_2_5_0_PerformanceDev-String-root, NNPEGASUS_2_5_0_PerformanceDev-String-branch, Makefile, MONITOR_CONSOLIDATION_2_5_BRANCH, LOCAL_ASSOCPROV-ROOT, LOCAL_ASSOCPROV-BRANCH, IBM_241_April1405, HPUX_TEST, HEAD, CQL_2_5_BRANCH, CIMRS_WORK_20130824, CHUNKTESTDONE_PEP140, BeforeUpdateToHeadOct82011, BUG_4225_PERFORMANCE_VERSION_1_DONE Changes since 1.1: +39 -7 lines extend document |
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 9"> <meta name=Originator content="Microsoft Word 9"> <link rel=File-List href="./DefinitionofCommandLineClient_files/filelist.xml"> <title>Pegasus Project Working Paper</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Karl</o:Author> <o:LastAuthor>Karl</o:LastAuthor> <o:Revision>3</o:Revision> <o:TotalTime>392</o:TotalTime> <o:Created>2002-02-08T15:18:00Z</o:Created> <o:LastSaved>2002-02-08T17:31:00Z</o:LastSaved> <o:Pages>9</o:Pages> <o:Words>1772</o:Words> <o:Characters>10102</o:Characters> <o:Company>Inova</o:Company> <o:Lines>84</o:Lines> <o:Paragraphs>20</o:Paragraphs> <o:CharactersWithSpaces>12405</o:CharactersWithSpaces> <o:Version>9.4402</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> </w:WordDocument> </xml><![endif]--> <style> <!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} h1 {margin-right:0in; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:1; font-size:24.0pt; font-family:"Times New Roman"; mso-font-kerning:18.0pt; font-weight:bold;} h2 {margin-right:0in; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:2; font-size:18.0pt; font-family:"Times New Roman"; font-weight:bold;} h3 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:3; font-size:13.0pt; font-family:Arial; font-weight:bold;} h4 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:4; font-size:14.0pt; font-family:"Times New Roman"; font-weight:bold;} h5 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:5; font-size:13.0pt; font-family:"Times New Roman"; font-weight:bold; font-style:italic;} p {margin-right:0in; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:127016844; mso-list-type:hybrid; mso-list-template-ids:-701077316 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l1 {mso-list-id:215433208; mso-list-type:hybrid; mso-list-template-ids:-1988210366 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l2 {mso-list-id:298267944; mso-list-type:hybrid; mso-list-template-ids:-145870166 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l3 {mso-list-id:430516562; mso-list-type:hybrid; mso-list-template-ids:1081889748 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l3:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} @list l4 {mso-list-id:719205394; mso-list-type:hybrid; mso-list-template-ids:-1588970528 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l4:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l5 {mso-list-id:737627523; mso-list-type:hybrid; mso-list-template-ids:-1472971888 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l5:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.25in; mso-level-number-position:left; margin-left:1.25in; text-indent:-.25in; font-family:Symbol;} @list l6 {mso-list-id:786967640; mso-list-type:hybrid; mso-list-template-ids:-778779566 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l6:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l7 {mso-list-id:892470363; mso-list-type:hybrid; mso-list-template-ids:-1855174972 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l7:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l8 {mso-list-id:980813003; mso-list-type:hybrid; mso-list-template-ids:886609238 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l8:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l9 {mso-list-id:989209276; mso-list-type:hybrid; mso-list-template-ids:-1811620506 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l9:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l10 {mso-list-id:1089615733; mso-list-type:hybrid; mso-list-template-ids:-1698527110 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l10:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.25in; mso-level-number-position:left; margin-left:1.25in; text-indent:-.25in; font-family:Symbol;} @list l11 {mso-list-id:1942057295; mso-list-type:hybrid; mso-list-template-ids:192292454 67698703 67698689 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l11:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} @list l11:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style> </head> <body lang=EN-US style='tab-interval:.5in'> <div class=Section1> <h1 align=center style='text-align:center'>Pegasus Project Working Paper<o:p></o:p></h1> <h1 align=center style='text-align:center'>Designing a Command Line Client Set<o:p></o:p></h1> <p class=MsoNormal><b><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt'>AUTHORS:</span></b><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt'> Karl Schopmeyer<o:p></o:p></span></p> <p><b><span style='font-size:10.0pt;mso-bidi-font-size:7.5pt'>Last Update</span></b><span style='font-size:10.0pt;mso-bidi-font-size:7.5pt'> <span style='mso-field-code: "SAVEDATE \\* MERGEFORMAT"'>2/8/2002 5:03 AM</span></span><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt'><o:p></o:p></span></p> <p><b>Revision Status:</b> Draft – Thinking through the issues.<o:p></o:p></p> <p>File: <span style='mso-field-code:"FILENAME \\* MERGEFORMAT"'>DefinitionofCommandLineClient.htm</span><o:p></o:p></p> <table border=1 cellpadding=0 width="80%" style='width:80.0%;mso-cellspacing: 1.5pt'> <tr> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal>Revision<o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal>Date<o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal>Author(s)<o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal>Reason<o:p></o:p></p> </td> </tr> <tr> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> </tr> <tr> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> </tr> <tr> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> </tr> <tr> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal> <o:p></o:p></p> </td> </tr> </table> <h2>Introduction<o:p></o:p></h2> <p> We have long discussed a number of client tools including clients that would support scripting including clients in TCL, command-line functions, etc.<span style="mso-spacerun: yes"> </span>In general, the concept was to design an equivalent to the existing Pegasus client API so that command like getclass, enumerateclass, etc. would be the primitives of this new interface.</p> <p>The command line has both appeal and problems in the support of these interfaces.<span style="mso-spacerun: yes"> </span>The positive is that it provides tools that will support direct access to CIM functionality from scripts, console programs, etc. The negative is that it is not easy to support real CIM based programming and CIM objects with a commandline set of tools. For example, it is not easy to support manipulation of a cim instance or cim class with command line concepts and tools.</p> <p>However, this can be a useful set of tools so we propose as a background task to start to produce them.</p> <h2>The Architecture:</h2> <p>I propose that we produce the CL CIM Operation tools as a set of independent executables, one for each command with a common support library.<span style="mso-spacerun: yes"> </span>Thus there would be a separate executable for each CIM Operation defined (getclass, deleteclass, etc.).<span style="mso-spacerun: yes"> </span>The common functions for support of the programming would be defined in a common DLL available to all of these tools and possibly in the future to other tools and applications.</p> <p>Note that the alternative is to produce this as a single executable where one of the parameters is the CIM Operation to be executed but since this is a background task hopfully to be done by a number of people, the separate executables is a more modular approach.</p> <p>We have already defined a directory called clitestclients under \src\clients and will have a directory for each command and for the common utility module under this structure.</p> <p>Each executable will process a single CIM Operation taking input information from a combination of command line parameters, environment variables and possibly a config file, and producing one of several possible types of output (Ascii text as lists and either XML or MOF as the form for object representations).</p> <p>Thus, for example, the enumrateclassnames function has exactly the same set of definitions as the CIM operation as input:</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo1; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Namespace</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo1; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Classname</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo1; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Deepinheritance (true or false)</p> <p>It is expected that, at least for this first version, each command would make its connection, execute and disconnect from the server.</p> <h2>Usage of these functions</h2> <p class=MsoNormal>I see two usage models here:</p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l8 level1 lfo5;tab-stops:list .5in'>Creating test applications more simply than the existing tools. A set of command line tools can help us develop more complex client tests easier than the existing WEB, browser, or even WBEMEXEC tools.<span style="mso-spacerun: yes"> </span>The initial usage is simply to execute each command.<span style="mso-spacerun: yes"> </span>After that we could consider mechanisms that allow us to pass information between individual commands and thus link commands together into scripts</li> <li class=MsoNormal style='mso-list:l8 level1 lfo5;tab-stops:list .5in'>Possibly use in scripting clients – There is a clear need for scripting clients in the future.<span style="mso-spacerun: yes"> </span>It is not to say that what we are doing here is the final solution but this can serve as a starting point.</li> <li class=MsoNormal style='mso-list:l8 level1 lfo5;tab-stops:list .5in'>Test tool to develop the higher level SDK for the client. – We know we have to develop a higher level SDK for the client.<span style="mso-spacerun: yes"> </span>Working on this can help us think out that problem.</li> </ul> <p style='margin:0in;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <h2>Setting up rules for common programming of these functions:</h2> <p>A lot of the rules and tools for programming these functions will be developed off of the first couple we do.<span style="mso-spacerun: yes"> </span>However here is a starting point.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l11 level1 lfo2; tab-stops:list .5in'><![if !supportLists]>1.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Common tool for input parameter analysis so that the decision process is common to all of the functions and done only once.<span style="mso-spacerun: yes"> </span>Initially, I was looking at using the tools existing in the CIMSever (the original options manager) but we may want to modify that for ourselves. Note that this code is no longer used by CIMServer but it is still used by a lot of the client things so we would be free to move it, extend it, etc.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l11 level1 lfo2; tab-stops:list .5in'><![if !supportLists]>2.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Want to keep each one of these things simple and largely do one function.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l11 level1 lfo2; tab-stops:list .5in'><![if !supportLists]>3.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Input and output ascii generally with structure applied through mechanisms for lists, MOF, XML, etc.</p> <h2>Input parameters</h2> <p style='margin-left:.75in'>This is probably the characteristic that is going to make or break this whole thing and which we need to put some thought before we jump into programming.</p> <p style='margin-left:.75in'>The goals for this are:</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l10 level1 lfo6; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Completeness to specify everything we want.</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l10 level1 lfo6; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Easy programming support since we are doing 30 different definitions.</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l10 level1 lfo6; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Easy of entry for the console operator since we do not want something where the operator has to enter 30 lines of text to put in a single command.</p> <p style='margin-left:.75in'>It seems that we want more than simply putting all the parameters on the command line for each command. <span style="mso-spacerun: yes"> </span>Therefore we need for parameters to be objtained from a hierarchy of sources as follows:</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l5 level1 lfo7; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Highest priority is the command line. Any input parameter on the command line overrides the equivalent defintion in either an environment variable or a config file.</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l5 level1 lfo7; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Second priority is probably environment variables</p> <p style='margin-left:1.25in;text-indent:-.25in;mso-list:l5 level1 lfo7; tab-stops:list 1.25in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Third priority would be a config file</p> <p style='margin-left:.75in'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin-left:.75in'><span style="mso-spacerun: yes"> </span>Therefore, I suggest that we work toward the following:</p> <p style='margin-left:1.0in;text-indent:-.25in;mso-list:l11 level2 lfo2; tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Some parameters required and defined by position and some optional and defined by a keyword=parm structure. .</p> <p style='margin-left:1.0in;text-indent:-.25in;mso-list:l11 level2 lfo2; tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The optional parameters would have a default based on the default defined in the CIM Operations documentation.<span style="mso-spacerun: yes"> </span>Thus, for example, deepinheritance is optional.<span style="mso-spacerun: yes"> </span>It would have the same default as the </p> <p style='margin-left:1.0in;text-indent:-.25in;mso-list:l11 level2 lfo2; tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Source of parameters would be in priority: 1 command line, 2. environment variable, 3, config file.<span style="mso-spacerun: yes"> </span>Thus, for example, namespace could be supplied with each command or could be defined as an environment variable once and then used for subsequent commands or could be in a config file with the same result as the environment variable.</p> <p style='margin-left:1.0in;text-indent:-.25in;mso-list:l11 level2 lfo2; tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>There would be a final default on the major parameters of local system so that simple one word commands would generate some result. </p> <p>Thus, returning to the enumerateClassNames command:</p> <p>Enumerateclassnames <span style="mso-spacerun: yes"> </span>- With no parameters and no env variables defined would enumerate from the localhost:5988 CIMV2 namepace, top level and deepinhertance = false.<span style="mso-spacerun: yes"> </span>It would return the result as a list of classnames one name per line.</p> <p>Next question: how to we organize the conceopts of required, optional, etc parameters to make this thing as flexible as possible.</p> <p>We appear to have: several possibilities here for setting parameters:</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l6 level1 lfo3; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Option tag (-) with keyword (ex getclass –n namespace –c CIM_Door)</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l6 level1 lfo3; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>field=value where fields are all represented by fieldname=value ( thus, <span style="mso-spacerun: yes"> </span>as an example, getclass namespace=CIMV2 name=CIMV2)</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l6 level1 lfo3; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>string where string can represent string,integer, etc. and the position of the strings is fixed. ( Thus getclass CIMV2 CIM_Door. If there is only one parameter it would be the class and the namespace would be assumed)</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l6 level1 lfo3; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Boolean keyword (deepinheritance means deepinheritanc=true)</p> <p>Today the optionmanager supports the following today:</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo4; tab-stops:list .5in'><![if !supportLists]>1.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>sort out all option tag parameters defined by the option table defined. These may be of several types including string, integer, Boolean, etc. </p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo4; tab-stops:list .5in'><![if !supportLists]>2.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Then return all remaining parameters as a new command line string for the application to sort out.</p> <h3>Proposal for input parameters</h3> <p style='margin:0in;margin-bottom:.0001pt'>Lets go with the definitions in the option manager</p> <p style='margin:0in;margin-bottom:.0001pt'>Thus the get class options becomes, for example</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-namespace namespace</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-host host-name</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-port port-number</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-class Classname</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-output output type (we could use the keywordoption so it could be –output XML or –output MOF</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-localonly</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-includeclassorigin</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-includequalifiers</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l7 level1 lfo11;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-property</p> <p style='margin:0in;margin-bottom:.0001pt'>For each of the above we can include a short form one letter equivalent to make life simpler for the inputter as follows:</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l4 level1 lfo12;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-N namespace</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l4 level1 lfo12;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-P port-number</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l4 level1 lfo12;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>-L for localonly</p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l4 level1 lfo12;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in; margin-bottom:.0001pt;text-indent:-.25in;mso-list:l4 level1 lfo12;tab-stops: list .5in'><![if !supportLists]><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>etc.</p> <p style='margin:0in;margin-bottom:.0001pt'>This leaves us with NO nonoption parameters at all since all parameters are covered by the -… parameter options and all are therefore optional. We could modify this so that the class name could be considered a non-option parameter thus the command could be entered</p> <p style='margin:0in;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin:0in;margin-bottom:.0001pt'>Getclass CIM_Door</p> <p style='margin:0in;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin:0in;margin-bottom:.0001pt'>Or </p> <p style='margin:0in;margin-bottom:.0001pt'>GetClass –C CIM_Door</p> <p style='margin:0in;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin:0in;margin-bottom:.0001pt'>Of course, we can probably do both so that it can be entered either way.</p> <p style='margin:0in;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin:0in;margin-bottom:.0001pt'>Note that further, we probably have a problem with the property list in that it is not one parameter but a list and we need to develop something to support that form of input and do not think that the option manager covers this today.</p> <h3>Determining the host for a command</h3> <p class=MsoNormal>We must determine the host for each command input with some sort of option so that set once, the same host is repeated for all successive commands until changed.<span style="mso-spacerun: yes"> </span>There are a couple of alternatives here.</p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list .5in'>The target object – We are looking seriously at changing the CIMClient interfaces so that instead of namespace, object input parameters, we supply only a single parameter on input, the object name (Remember that the object name consists of the namespace path and the model path.<span style="mso-spacerun: yes"> </span>The namespace path allows for inclusion of type (Http, etc.) host, and namespace). Thus we could allow only a single input parameter, the object path and use this as a common parameter for all commands. By applying a few rules about saving this between commands (ex. each exe saves this for future use in the same console session ex. an env var), and claiifying how we handle partials (ex. the class name only), etc. we could manage with a single parameter but fairly complex processing</li> <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list .5in'>Separate parameters as we do today so that we would have parameters for host name, namespace, and object name.</li> </ul> <p class=MsoNormal>Not sure which to apply.<span style="mso-spacerun: yes"> </span>I suggest that the easiest might be to do both in such a way that the parameters are optional so that the user could:</p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l0 level1 lfo10;tab-stops:list .5in'>Input the complete object - -O localhost:5988/CIMV2/CIM_Door</li> <li class=MsoNormal style='mso-list:l0 level1 lfo10;tab-stops:list .5in'>Input separately - -H localhost –P 5988 –N CIMV2 –C CIM_Door</li> </ul> <p class=MsoNormal>Since all would be optional with proper defaults except that there has to be a CIM_Door from somewhere, the user can have his choice.</p> <h2>Output</h2> <p>All output has to be either to file or ascii manageable in some way by scripting tools.</p> <p>I propose the following options on output:</p> <p>Commands that return lists – return the results as a list. We can make the list mechanism more flexible by allowing the specification of list separator and possible header and trailer on the list.<span style="mso-spacerun: yes"> </span>The default separator could then be CRLF and the default header and trailers empty.<span style="mso-spacerun: yes"> </span>The headers and trailers could be modified by input <span style="mso-spacerun: yes"> </span>parameters (cmdline, envvar, configfile).</p> <p><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p>Commands that return objects – We need a way to represent these objects.<span style="mso-spacerun: yes"> </span>The two most obvious forms are: XML and MOF, both of which are largely supported in existing functions in the base object system with functions like toXML and toMof.<span style="mso-spacerun: yes"> </span>I think that we can use these functions directly to provide output.<span style="mso-spacerun: yes"> </span>I suggest that we provide a parameter that would allow the selection of one of the several output forms.</p> <p><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p>Other commands – There are probably some other output forms that we have not thought out yet. In particular, we may have to do something special with getproperty, invoke method, etc.<span style="mso-spacerun: yes"> </span>This we can attack as it arrives.</p> <h2>Extra Commands</h2> <p class=MsoNormal>It appears obvious that we will have to also create some extra commands above and beyond the existing basic CIM Operations.<span style="mso-spacerun: yes"> </span>The following list comes to mind initially:</p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l9 level1 lfo8;tab-stops:list .5in'>Get superclass</li> <li class=MsoNormal style='mso-list:l9 level1 lfo8;tab-stops:list .5in'>TBD</li> </ul> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <h2>Open issues</h2> <p class=MsoNormal>Handling the error return – What should we do?<span style="mso-spacerun: yes"> </span>Think that the choices are to do an error return from the code itself or something distinctive in the output that the user can recognize.<span style="mso-spacerun: yes"> </span>The error return with a set of codes sounds logical at first glance.</p> <h2>The Commands</h2> <h3>BasicClass operations</h3> <h4>Getclass</h4> <h5>C++ Function</h5> <p class=MsoNormal><span style="mso-spacerun: yes"> </span>virtual CIMClass getClass(<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>const String& nameSpace,<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>const String& className,<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>Boolean localOnly = true,<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>Boolean includeQualifiers = true,<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>Boolean includeClassOrigin = false,<o:p></o:p></p> <p class=MsoNormal><span style='mso-tab-count:1'> </span>const CIMPropertyList& propertyList =CIMPropertyList());</p> <h5>Input Parameters</h5> <p class=MsoNormal>Namespace(String)</p> <p class=MsoNormal>ClassName(String)</p> <p class=MsoNormal>LocalOnly(Boolean)</p> <p class=MsoNormal>IncludeQualifiers(Boolean)</p> <p class=MsoNormal>IncludeClassOrigin(Boolean)</p> <p class=MsoNormal>PropertyList(definitely optional)</p> <h5>Output</h5> <p class=MsoNormal>Returns either error on the Class information.<span style="mso-spacerun: yes"> </span>Here we can chose to output it in either MOF or XML form</p> <h4>Deleteclass</h4> <h4>Createclass</h4> <h4>Modifyclass</h4> <h4>Enumerateclasses</h4> <h4>Enumerateclassnames</h4> <h3>Instance</h3> <h4>GetInstance</h4> <h4>DeleteInstance</h4> <h4>CreateInstance</h4> <h4>ModifyInstance</h4> <h4>EnumerateInstances</h4> <h4>EnumerateInstanceNames</h4> <h4>GetProperty</h4> <h4>SetProperty</h4> <h3>Qualifiers</h3> <h4>SetQualifier</h4> <h4>GetQualifier</h4> <h4>DeleteQualifier</h4> <h4>EnumQualifiers</h4> <h3>Associations</h3> <h4>Associators</h4> <h4>AssociatorNames</h4> <h4>References</h4> <h4>ReferenceNames</h4> <h3>Query</h3> <h3>InvokeMethod</h3> <h3><![if !supportEmptyParas]> <![endif]><o:p></o:p></h3> <p><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p> <o:p></o:p></p> <p> <o:p></o:p></p> <p>---END OF DOCUMENT--<o:p></o:p></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> </div> </body> </html>
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |