<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" /><META NAME="save" CONTENT="history" /><title>P4Connection Class</title><link rel="stylesheet" type="text/css" href="../styles/presentation.css" /><link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" /><script type="text/javascript" src="../scripts/EventUtilities.js"> </script><script type="text/javascript" src="../scripts/SplitScreen.js"> </script><script type="text/javascript" src="../scripts/Dropdown.js"> </script><script type="text/javascript" src="../scripts/script_loc.js"> </script><script type="text/javascript" src="../scripts/script_manifold.js"> </script><script type="text/javascript" src="../scripts/script_feedBack.js"> </script><script type="text/javascript" src="../scripts/CheckboxMenu.js"> </script><script type="text/javascript" src="../scripts/CommonUtilities.js"> </script><meta name="container" content="p4api" /><meta name="file" content="T_P4API_P4Connection" /><meta name="guid" content="T_P4API_P4Connection" /><xml><MSHelp:TOCTitle Title="P4Connection Class" /><MSHelp:RLTitle Title="P4Connection Class (P4API)" /><MSHelp:Attr Name="AssetID" Value="T:P4API.P4Connection" /><MSHelp:Keyword Index="A" Term="T:P4API.P4Connection" /><MSHelp:Keyword Index="A" Term="frlrfP4APIP4ConnectionClassTopic" /><MSHelp:Keyword Index="K" Term="P4Connection class" /><MSHelp:Keyword Index="K" Term="P4API.P4Connection class" /><MSHelp:Keyword Index="K" Term="P4Connection class, about P4Connection class" /><MSHelp:Keyword Index="F" Term="P4Connection" /><MSHelp:Keyword Index="F" Term="P4API.P4Connection" /><MSHelp:Attr Name="HelpPriority" Value="2" /><MSHelp:Attr Name="APIType" Value="Managed" /><MSHelp:Attr Name="APILocation" Value="p4api.dll" /><MSHelp:Attr Name="APIName" Value="P4API.P4Connection" /><MSHelp:Attr Name="DevLang" Value="CSharp" /><MSHelp:Attr Name="Locale" Value="en-us" /><MSHelp:Attr Name="TopicType" Value="kbSyntax" /><MSHelp:Attr Name="TopicType" Value="apiref" /><MSHelp:Attr Name="Abstract" Value="A connection to a Perforce server instance." /></xml><link type="text/css" rel="stylesheet" href="../styles/highlight.css" /><script type="text/javascript" src="../scripts/highlight.js"></script></head><body><input type="hidden" id="userDataCache" class="userDataStyle" /><input type="hidden" id="hiddenScrollOffset" /><img id="collapseImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" title="Collapse image" /><img id="expandImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" title="Expand Image" /><img id="collapseAllImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" /><img id="expandAllImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" /><img id="dropDownImage" style="display:none; height:0; width:0;" src="../icons/dropdown.gif" /><img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../icons/dropdownHover.gif" /><img id="copyImage" style="display:none; height:0; width:0;" src="../icons/copycode.gif" title="Copy image" /><img id="copyHoverImage" style="display:none; height:0; width:0;" src="../icons/copycodeHighlight.gif" title="CopyHover image" /><div id="header"><table id="topTable" cellspacing="0" cellpadding="0"><tr><td><span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0"><img ID="toggleAllImage" class="toggleAll" src="../icons/collapse_all.gif" /> <label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label><label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label> </span></td></tr></table><div id="devlangsMenu"><input id="CSharpCheckbox" type="checkbox" data="CSharp,cs,'persist'" value="on" onClick="SetLanguage(this)" /><label class="checkboxLabel" for="CSharpCheckbox">C#</label><br /></div><table id="bottomTable" cellpadding="0" cellspacing="0"><tr id="headerTableRow1"><td align="left"><span id="runningHeaderText">P4.Net -- Managed API for Perforce</span></td></tr><tr id="headerTableRow2"><td align="left"><span id="nsrTitle">P4Connection Class</span></td></tr><tr id="headerTableRow3"><td align="left"><a href="AllMembers_T_P4API_P4Connection.htm">Members</a> <a href="#seeAlsoToggle" onclick="OpenSection(seeAlsoToggle)">See Also</a> <span id="headfb" class="feedbackhead" /></td></tr></table><table id="gradientTable"><tr><td class="nsrBottom" background="../icons/gradient.gif" /></tr></table></div><div id="mainSection"><div id="mainBody"><div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"><span style="color: DarkGray"> </span></div><div class="summary">
A connection to a Perforce server instance.
</div><p />
<b>Namespace:</b>
<a href="N_P4API.htm">P4API</a><br />
<b>Assembly:</b>
p4api (in p4api)<br /><b>Version:</b> 1.0.0.0 (1.0.0)<h1 class="heading"><span onclick="ExpandCollapse(syntaxToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(syntaxToggle, event)" tabindex="0"><img id="syntaxToggle" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Syntax</span></h1><div id="syntaxSection" class="section" name="collapseableSection" style=""><div id="syntaxCodeBlocks" class="code"><span codeLanguage="CSharp"><table><tr><th>C#</th></tr><tr><td><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">P4Connection</span> : <a href="http://msdn2.microsoft.com/en-us/aax125c9" target="_blank">IDisposable</a></pre></td></tr></table></span></div></div><h1 class="heading"><span onclick="ExpandCollapse(remarksToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(remarksToggle, event)" tabindex="0"><img id="remarksToggle" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Remarks</span></h1><div id="remarksSection" class="section" name="collapseableSection" style=""><p>
The P4Connection class is the main player in P4.Net. This represents a connection
to the Perforce server. Every utility that uses P4.Net will have some variation
of the following code:
</p><span id="cbc_1" x-lang="CSharp" codeLanguage="CSharp"><div class="highlight-title"><span class="highlight-copycode" onkeypress="javascript:CopyColorizedCodeCheckKey(this.parentNode, event);" tabindex="0" onmouseover="CopyCodeChangeIcon(this)" onmouseout="CopyCodeChangeIcon(this)" onclick="javascript:CopyColorizedCode(this.parentNode);"><img src="../icons/CopyCode.gif" style="margin-right: 5px;" />Copy</span>C#</div><div class="code"><span codeLanguage="CSharp"><pre>P4Connection p4 = <span class="highlight-keyword">new</span> P4Connection();
p4.Connect();
<span class="highlight-comment">// Run some commands</span>
p4.Disconnect();</pre></span></div></span><p>
Rule number 1: Always remember to disconnect. This frees unmanaged memory, and cleanly
disconnects from the Perforce server. P4Connection implements IDisposable, and the
Dispose and Disconnect methods can be used interchangeably.
</p><p>
P4.Net is based off the command-line syntax (as are most other Perforce APIs). Almost
all of the commands you issue in P4.Net will use the same arguments as the p4 client
executable. For example, say you need to find the latest submitted changelist under
a given path (//depot/path).
</p><p>From the command line:</p><span id="cbc_2" x-lang="CSharp" codeLanguage="CSharp"><div class="highlight-title"><span class="highlight-copycode" onkeypress="javascript:CopyColorizedCodeCheckKey(this.parentNode, event);" tabindex="0" onmouseover="CopyCodeChangeIcon(this)" onmouseout="CopyCodeChangeIcon(this)" onclick="javascript:CopyColorizedCode(this.parentNode);"><img src="../icons/CopyCode.gif" style="margin-right: 5px;" />Copy</span>C#</div><div class="code"><span codeLanguage="CSharp"><pre>c:\> p4 changes -m1 -s submitted <span class="highlight-comment">//depot/path/...</span></pre></span></div></span><p>From P4.Net:</p><span id="cbc_3" x-lang="CSharp" codeLanguage="CSharp"><div class="highlight-title"><span class="highlight-copycode" onkeypress="javascript:CopyColorizedCodeCheckKey(this.parentNode, event);" tabindex="0" onmouseover="CopyCodeChangeIcon(this)" onmouseout="CopyCodeChangeIcon(this)" onclick="javascript:CopyColorizedCode(this.parentNode);"><img src="../icons/CopyCode.gif" style="margin-right: 5px;" />Copy</span>C#</div><div class="code"><span codeLanguage="CSharp"><pre>P4Connect p4 = <span class="highlight-keyword">new</span> P4Connection();
p4.Connect();
P4Recordset changes = p4.Run(<span class="highlight-literal">"changes"</span>, <span class="highlight-literal">"-m1"</span>, <span class="highlight-literal">"-s"</span>, <span class="highlight-literal">"submitted"</span>, <span class="highlight-literal">"//depot/path/..."</span>);
p4.Disconnect();</pre></span></div></span><p>
If you don’t know what all the arguments for p4 changes mean, then <span class="code">p4 help changes</span>
is your best friend. The first step in building anything with P4.Net, is to know
the exact command lines you’d run manually.
</p></div><h1 class="heading"><span onclick="ExpandCollapse(familyToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(familyToggle, event)" tabindex="0"><img id="familyToggle" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Inheritance Hierarchy</span></h1><div id="familySection" class="section" name="collapseableSection" style=""><a href="http://msdn2.microsoft.com/en-us/e5kfa45b" target="_blank">System<span class="languageSpecificText"><span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span></span>Object</a><br /> <span class="selflink">P4API<span class="languageSpecificText"><span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span></span>P4Connection</span><br /></div><h1 class="heading"><span onclick="ExpandCollapse(seeAlsoToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(seeAlsoToggle, event)" tabindex="0"><img id="seeAlsoToggle" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />See Also</span></h1><div id="seeAlsoSection" class="section" name="collapseableSection" style=""><div class="seeAlsoStyle"><a href="AllMembers_T_P4API_P4Connection.htm">P4Connection Members</a></div><div class="seeAlsoStyle"><a href="N_P4API.htm">P4API Namespace</a></div></div></div><div id="footer"><div class="footerLine"><img width="100%" height="3px" src="../icons/footer.gif" title="Footer image" /></div><A NAME="feedback"></A><span id="fb" class="feedbackcss" style="display: none;"> </span>
<a href="http://p4dotnet.sourceforge.net" target="_blank">P4.Net SourceForge Project Web Site</a> <p /><a href="Copyright.html">Copyright © 2007 Shawn Hladky</a><script type="text/javascript">
var feedb = new FeedBack(
'',
'P4.Net -- Managed API for Perforce',
'',
'',
'',
fb,
'%0dYour%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report,%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed,%20you%20may%20received%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.%0A%0d');
feedb.HeadFeedBack(headfb,
'Send Feedback',
'false');
feedb.StartRatingsFeedBack(fb);
</script></div></div></body></html>
# |
Change |
User |
Description |
Committed |
|
#1
|
7291 |
Andrew McDonald |
initial submittal |
|
|
//guest/shawn_hladky/P4.Net/doc/html/html/T_P4API_P4Connection.htm |
#1
|
6112 |
Shawn Hladky |
P4.Net: updating latest html documentation to 1.0. |
|
|
//guest/shawn_hladky/P4.Net/release/1.0/doc/html/html/T_P4API_P4Connection.htm |
#1
|
6106 |
Shawn Hladky |
P4.Net: Branching release 1.0 |
|
|
//guest/shawn_hladky/P4.Net/main/doc/html/html/T_P4API_P4Connection.htm |
#1
|
6105 |
Shawn Hladky |
P4.Net: Updating documentation output to sandcastle. |
|
|