P4Global.html #1

  • //
  • guest/
  • tony_smith/
  • perforce/
  • P4Rubylib/
  • lib/
  • doc/
  • classes/
  • P4Global.html
  • View
  • Commits
  • Open Download .zip Download (13 KB)
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>Class: P4Global</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta http-equiv="Content-Script-Type" content="text/javascript" />
	<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
	<script type="text/javascript">
	// <![CDATA[

	function popupCode( url ) {
		window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
	}

	function toggleCode( id ) {
		if ( document.getElementById )
			elem = document.getElementById( id );
		else if ( document.all )
			elem = eval( "document.all." + id );
		else
			return false;

		elemStyle = elem.style;
		
		if ( elemStyle.display != "block" ) {
			elemStyle.display = "block"
		} else {
			elemStyle.display = "none"
		}

		return true;
	}
	
	// Make codeblocks hidden by default
	document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
	
	// ]]>
	</script>

</head>
<body>



    <div id="classHeader">
        <h1>P4Global <sup class="type-note">(Class)</sup></h1>
        <table class="header-table">
        <tr class="top-aligned-row">
            <td><strong>In:</strong></td>
            <td>
                <a href="../files/p4table_rb.html">
                p4table.rb
                </a>
				<br />
            </td>
        </tr>

        <tr class="top-aligned-row">
            <td><strong>Parent:</strong></td>
            <td>
                Object
            </td>
        </tr>
        </table>
    </div>
  <!-- banner header -->

	<div id="bodyContent">


	<div id="contextContent">

		<div id="description">
			<p>
This class just provides two globally accessible Perforce client instances
without the use of global variables. One P4 client runs in tagged mode and
one in untagged mode. Most of the queries need tagged mode, but when we
want to run a &quot;p4 job -o&quot; to archive the job, we need it in plain
text.
</p>
<p>
This class is also the reason why <a href="P4Table.html">P4Table</a> is not
thread safe as all of the other classes that execute commands use it
directly. I wanted to avoid excessive passing of P4 objects but in the end
I&#8217;ll probably have to go that way.
</p>

		</div>


		<div id="method-list">
			<h2 class="section-bar">Methods</h2>

			<div class="name-list">
			<a href="#M000010">connect</a>&nbsp;&nbsp;
			<a href="#M000014">debug=</a>&nbsp;&nbsp;
			<a href="#M000011">disconnect</a>&nbsp;&nbsp;
			<a href="#M000009">p4client=</a>&nbsp;&nbsp;
			<a href="#M000008">p4passwd=</a>&nbsp;&nbsp;
			<a href="#M000007">p4port=</a>&nbsp;&nbsp;
			<a href="#M000006">p4user=</a>&nbsp;&nbsp;
			<a href="#M000013">plain</a>&nbsp;&nbsp;
			<a href="#M000012">tagged</a>&nbsp;&nbsp;
			</div>
		</div>




			

	</div>



		<!-- if includes -->


		<!-- if method_list -->
		<div id="methods">
			<h2 class="section-bar">Public Class methods</h2>

			<div id="method-M000010" class="method-detail">
				<a name="M000010"></a>

				<div class="method-heading">
					<a href="#M000010" class="method-signature">
					<span class="method-name">connect</span><span class="method-args">()</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Connect both tagged and untagged clients to the server
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000010-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 162</span>
162:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">connect</span>
163:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">connect</span>
164:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">connect</span>
165:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000014" class="method-detail">
				<a name="M000014"></a>

				<div class="method-heading">
					<a href="#M000014" class="method-signature">
					<span class="method-name">debug=</span><span class="method-args">( level )</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Sets the debug level for both tagged and untagged mode (2 is good)
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000014-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 184</span>
184:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">debug=</span>( <span class="ruby-identifier">level</span> )
185:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-identifier">level</span>
186:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-identifier">level</span>
187:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000011" class="method-detail">
				<a name="M000011"></a>

				<div class="method-heading">
					<a href="#M000011" class="method-signature">
					<span class="method-name">disconnect</span><span class="method-args">()</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Disconnect both tagged and untagged mode clients
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000011-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 168</span>
168:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">disconnect</span>
169:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">disconnect</span>
170:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">disconnect</span>
171:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000009" class="method-detail">
				<a name="M000009"></a>

				<div class="method-heading">
					<a href="#M000009" class="method-signature">
					<span class="method-name">p4client=</span><span class="method-args">( client )</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Set the clientspec for both tagged and untagged mode
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000009-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 156</span>
156:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">p4client=</span>( <span class="ruby-identifier">client</span> )
157:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">client</span> = <span class="ruby-identifier">client</span>
158:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">client</span> = <span class="ruby-identifier">client</span>
159:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000008" class="method-detail">
				<a name="M000008"></a>

				<div class="method-heading">
					<a href="#M000008" class="method-signature">
					<span class="method-name">p4passwd=</span><span class="method-args">( password )</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Set the password for both tagged and untagged mode
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000008-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 150</span>
150:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">p4passwd=</span>( <span class="ruby-identifier">password</span> )
151:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">password</span> = <span class="ruby-identifier">password</span>
152:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">password</span> = <span class="ruby-identifier">password</span>
153:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000007" class="method-detail">
				<a name="M000007"></a>

				<div class="method-heading">
					<a href="#M000007" class="method-signature">
					<span class="method-name">p4port=</span><span class="method-args">( port )</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Set the port for both tagged and untagged mode
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000007-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 144</span>
144:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">p4port=</span>( <span class="ruby-identifier">port</span> )
145:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">port</span> = <span class="ruby-identifier">port</span>
146:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">port</span> = <span class="ruby-identifier">port</span>
147:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000006" class="method-detail">
				<a name="M000006"></a>

				<div class="method-heading">
					<a href="#M000006" class="method-signature">
					<span class="method-name">p4user=</span><span class="method-args">( user )</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Set the username for both tagged and untagged mode
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000006-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 138</span>
138:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">p4user=</span>( <span class="ruby-identifier">user</span> )
139:         @<span class="ruby-ivar">@p4t</span>.<span class="ruby-identifier">user</span> = <span class="ruby-identifier">user</span>
140:         @<span class="ruby-ivar">@p4u</span>.<span class="ruby-identifier">user</span> = <span class="ruby-identifier">user</span>
141:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000013" class="method-detail">
				<a name="M000013"></a>

				<div class="method-heading">
					<a href="#M000013" class="method-signature">
					<span class="method-name">plain</span><span class="method-args">()</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Returns the untagged mode client
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000013-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 179</span>
179:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">plain</span>
180:         @<span class="ruby-ivar">@p4u</span>
181:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>

			<div id="method-M000012" class="method-detail">
				<a name="M000012"></a>

				<div class="method-heading">
					<a href="#M000012" class="method-signature">
					<span class="method-name">tagged</span><span class="method-args">()</span>
					</a>
				</div>
			
				<div class="method-description">
					<p>
Returns the tagged mode client
</p>
					<p><a class="source-toggle" href="#"
					  onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
					<div class="method-source-code" id="M000012-source">
<pre>
     <span class="ruby-comment cmt"># File p4table.rb, line 174</span>
174:     <span class="ruby-keyword kw">def</span> <span class="ruby-constant">P4Global</span>.<span class="ruby-identifier">tagged</span>
175:         @<span class="ruby-ivar">@p4t</span>
176:     <span class="ruby-keyword kw">end</span>
</pre>
					</div>
				</div>
			</div>


		</div>


	</div>


<div id="validator-badges">
  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
</div>

</body>
</html>
# Change User Description Committed
#2 4678 Tony Smith Update p4table.rb to use the new spec parsing and formatting
features of P4Ruby. This means we now only need one Perforce
client instance to handle specs in both hash form and text form.
#1 4677 Tony Smith Move P4table.rb to the P4Ruby library and rename it to p4table.rb
instead. There's an update coming so this is just the move.