(file) Return to DefinitionofCommandLineClient.htm CVS log (file) (dir) 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, 2 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'>&nbsp; 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:&nbsp; <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>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
  <td width="25%" style='width:25.0%;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal>&nbsp;<o:p></o:p></p>
  </td>
 </tr>
</table>

<h2>Introduction<o:p></o:p></h2>

<p>&nbsp;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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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]>&nbsp;<![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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Third priority would be a config file</p>

<p style='margin-left:.75in'><![if !supportEmptyParas]>&nbsp;<![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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]><![if !supportEmptyParas]>&nbsp;<![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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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&amp; nameSpace,<o:p></o:p></p>

<p class=MsoNormal><span style='mso-tab-count:1'>            </span>const
String&amp; 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&amp;
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]>&nbsp;<![endif]><o:p></o:p></h3>

<p><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>---END OF DOCUMENT--<o:p></o:p></p>

<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

</div>

</body>

</html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2