Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 2aa62c5bbb658df1fece777472a7bcf2 > files > 2087

barry-devel-docs-0.17-0.3.20100730git.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Barry: Barry Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Barry Namespace Reference</h1>
<p>Project namespace, containing all related functions and classes.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Builder.html">Builder</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for the builder functor hierarchy.  <a href="classBarry_1_1Builder.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordBuilder.html">RecordBuilder</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class for easy creation of specific protocol packet builder objects.  <a href="classBarry_1_1RecordBuilder.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordFetch.html">RecordFetch</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic record fetch class, to help with using records without builder classes.  <a href="classBarry_1_1RecordFetch.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1CodFileBuilder.html">CodFileBuilder</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classBarry_1_1CodFileBuilder.html" title="The CodFileBuilder class is used to assemble multiple .cod files into a single packed...">CodFileBuilder</a> class is used to assemble multiple .cod files into a single packed .cod file using the pkzip file format.  <a href="classBarry_1_1CodFileBuilder.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ConfigFile.html">ConfigFile</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1GlobalConfigFile.html">GlobalConfigFile</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html">Controller</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The main interface class.  <a href="classBarry_1_1Controller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Data.html">Data</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Diff.html">Diff</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DataQueue.html">DataQueue</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class provides a thread aware fifo queue for <a class="el" href="classBarry_1_1Data.html">Data</a> objects, providing memory management for all <a class="el" href="classBarry_1_1Data.html">Data</a> object pointers it contains.  <a href="classBarry_1_1DataQueue.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Error.html">Error</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for any future derived exceptions.  <a href="classBarry_1_1Error.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1BadPassword.html">BadPassword</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bad or unknown password when talking to the device.  <a href="classBarry_1_1BadPassword.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1BadData.html">BadData</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown by record classes if their data is invalid and cannot be uploaded to the Blackberry.  <a href="classBarry_1_1BadData.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1BadSize.html">BadSize</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unexpected packet size, or not enough data.  <a href="classBarry_1_1BadSize.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ErrnoError.html">ErrnoError</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">System error that provides an errno error code.  <a href="classBarry_1_1ErrnoError.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ConfigFileError.html">ConfigFileError</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown by the <a class="el" href="classBarry_1_1ConfigFile.html">ConfigFile</a> class when encountering a serious system error while loading the global config file for a given PIN.  <a href="classBarry_1_1ConfigFileError.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1BadPackedFormat.html">BadPackedFormat</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown by record classes that don't recognize a given packed format code.  <a href="classBarry_1_1BadPackedFormat.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1BadPacket.html">BadPacket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown by the socket class if a packet command's response indicates an error.  <a href="classBarry_1_1BadPacket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ConvertError.html">ConvertError</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown by the vformat related barrysync library classes.  <a href="classBarry_1_1ConvertError.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1IConvHandle.html">IConvHandle</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper class for a two-way iconv_t handle pair.  <a href="classBarry_1_1IConvHandle.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1IConverter.html">IConverter</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main charset conversion class, primarily focused on converting between the Blackberry charset and an application-specified one.  <a href="classBarry_1_1IConverter.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ContactLdif.html">ContactLdif</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for generating LDIF output based on a <a class="el" href="classBarry_1_1Contact.html" title="Represents a single record in the Address Book Blackberry database.">Barry::Contact</a> record object.  <a href="classBarry_1_1ContactLdif.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1LogLock.html">LogLock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RAII locking class used to protect the logStream passed into <a class="el" href="namespaceBarry.html#a2e28bd59aebe0bece5a46f02ef7dbd3d" title="Barry library initializer.">Barry::Init()</a> (<a class="el" href="common_8h.html" title="General header for the Barry library.">common.h</a>).  <a href="classBarry_1_1LogLock.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLDirectory.html">JLDirectory</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLDirectoryEntry.html">JLDirectoryEntry</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLScreenInfo.html">JLScreenInfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLEventlog.html">JLEventlog</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLEventlogEntry.html">JLEventlogEntry</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLDeviceInfo.html">JLDeviceInfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JVMModulesList.html">JVMModulesList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JVMModulesEntry.html">JVMModulesEntry</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JVMThreadsList.html">JVMThreadsList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JVMThreadsEntry.html">JVMThreadsEntry</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Modem.html">Modem</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Packet.html">Packet</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ZeroPacket.html">ZeroPacket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an API for building and analyzing socket-0 protocol packets.  <a href="classBarry_1_1ZeroPacket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html">DBPacket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an API for building and analyzing raw DB protocol packets.  <a href="classBarry_1_1DBPacket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JLPacket.html">JLPacket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an API for building and analyzing raw Javaloader protocol packets.  <a href="classBarry_1_1JLPacket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1JVMPacket.html">JVMPacket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an API for building and analyzing raw JavaDebug protocol packets.  <a href="classBarry_1_1JVMPacket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Parser.html">Parser</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for the parser hierarchy.  <a href="classBarry_1_1Parser.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1NullParser.html">NullParser</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If in debug mode, this class can be used as a null parser.  <a href="classBarry_1_1NullParser.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordParser.html">RecordParser</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class for easy creation of specific parser objects.  <a href="classBarry_1_1RecordParser.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Pin.html">Pin</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1PppFilter.html">PppFilter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1ProbeResult.html">ProbeResult</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Probe.html">Probe</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Calendar.html">Calendar</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1CalendarAll.html">CalendarAll</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1CallLog.html">CallLog</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1ContactGroupLink.html">ContactGroupLink</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Contact.html">Contact</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a single record in the Address Book Blackberry database.  <a href="classBarry_1_1Contact.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Folder.html">Folder</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Memo.html">Memo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Message.html">Message</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1MessageBase.html">MessageBase</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1PINMessage.html">PINMessage</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecurBase.html">RecurBase</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1SavedMessage.html">SavedMessage</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ServiceBookData.html">ServiceBookData</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ServiceBookConfig.html">ServiceBookConfig</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1ServiceBook.html">ServiceBook</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Sms.html">Sms</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Task.html">Task</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Timezone.html">Timezone</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1FieldLink.html">FieldLink</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1CommandTableCommand.html">CommandTableCommand</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1CommandTable.html">CommandTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1RecordStateTableState.html">RecordStateTableState</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordStateTable.html">RecordStateTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1DatabaseItem.html">DatabaseItem</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DatabaseDatabase.html">DatabaseDatabase</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1UnknownData.html">UnknownData</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1UnknownField.html">UnknownField</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1EmailAddress.html">EmailAddress</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1PostalAddress.html">PostalAddress</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1Date.html">Date</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1CategoryList.html">CategoryList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1SocketRoutingQueue.html">SocketRoutingQueue</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DataHandle.html">DataHandle</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::auto_ptr like class that handles pointers to <a class="el" href="classBarry_1_1Data.html">Data</a>, but instead of freeing them completely, the <a class="el" href="classBarry_1_1Data.html">Data</a> objects are turned to the <a class="el" href="classBarry_1_1SocketRoutingQueue.html">SocketRoutingQueue</a> from whence they came.  <a href="classBarry_1_1DataHandle.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1scoped__lock.html">scoped_lock</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1SHA__CTX.html">SHA_CTX</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1SocketZero.html">SocketZero</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Socket.html">Socket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulates a "logical socket" in the Blackberry USB protocol.  <a href="classBarry_1_1Socket.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Thread.html">Thread</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1vSmartPtr.html">vSmartPtr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A special smart pointer for variables that have their own special 'free' functions.  <a href="classBarry_1_1vSmartPtr.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1vLateSmartPtr.html">vLateSmartPtr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Variation of the above smart pointer that allows the user to assign a free function after construction, in the case of dlopen()'d frees.  <a href="classBarry_1_1vLateSmartPtr.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BXEXPORT size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#ae9d92a617771de40f7bb5a15b8da1807">GetTotalBitmapSize</a> (const <a class="el" href="classBarry_1_1JLScreenInfo.html">JLScreenInfo</a> &amp;info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the total number of bytes needed to convert a screenshot of the given dimensions into a bitmap, using the <a class="el" href="namespaceBarry.html#a9da780aab46e04d16fddd855c85933ba" title="Converts screenshot data obtained via JavaLoader::GetScreenshot() into uncompressed...">ScreenshotToBitmap()</a> function.  <a href="#ae9d92a617771de40f7bb5a15b8da1807"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BXEXPORT void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a9da780aab46e04d16fddd855c85933ba">ScreenshotToBitmap</a> (const <a class="el" href="classBarry_1_1JLScreenInfo.html">JLScreenInfo</a> &amp;info, const <a class="el" href="classBarry_1_1Data.html">Data</a> &amp;screenshot, <a class="el" href="classBarry_1_1Data.html">Data</a> &amp;bitmap)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts screenshot data obtained via JavaLoader::GetScreenshot() into uncompressed bitmap format, suitable for writing BMP files.  <a href="#a9da780aab46e04d16fddd855c85933ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a07808b7a4cabe1399d5432eb1ee1eabf">SeekNextCod</a> (std::istream &amp;input)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seeks the input stream to the next packed sibling .cod file and returns the packed .cod file size.  <a href="#a07808b7a4cabe1399d5432eb1ee1eabf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a2e28bd59aebe0bece5a46f02ef7dbd3d">Init</a> (bool data_dump_mode, std::ostream *logStream)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceBarry.html" title="Project namespace, containing all related functions and classes.">Barry</a> library initializer.  <a href="#a2e28bd59aebe0bece5a46f02ef7dbd3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a59da38213acb8827d30bddfc54bbfe2a">Verbose</a> (bool data_dump_mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This API call lets the application enable / disable verbose debug output on the fly.  <a href="#a59da38213acb8827d30bddfc54bbfe2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#aec655def4d700239e60ed3ccb417e0c5">IsVerbose</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if data dump mode is enabled.  <a href="#aec655def4d700239e60ed3ccb417e0c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#ab664177c654a0cb41bc8fc40b39eabda">GetTimeZoneTable</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to an array of <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> structs.  <a href="#ab664177c654a0cb41bc8fc40b39eabda"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a8b42d46bf7b5cb8f4d9e0bde1d61f226">GetTimeZone</a> (unsigned short Code)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the internal timezone code table for the given Code and returns a pointer to a <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> struct found.  <a href="#a8b42d46bf7b5cb8f4d9e0bde1d61f226"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a56ac220ad3edcfbefcebb35c685212d1">GetTimeZoneCode</a> (signed short HourOffset, signed short MinOffset)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the internal timezone table for the first matching Code.  <a href="#a56ac220ad3edcfbefcebb35c685212d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a30255c53ebed390fc98a50e9c5d49984">DayToDate</a> (unsigned short Day)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine takes the day of the year and returns a time_t adjusted from the first of the year.  <a href="#a30255c53ebed390fc98a50e9c5d49984"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a2f4e6ee9d4afc6a26ae0166329609600">Message2Time</a> (uint16_t r_date, uint16_t r_time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Localize the funky math used to convert a Blackberry message timestamp into a time_t.  <a href="#a2f4e6ee9d4afc6a26ae0166329609600"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BXEXPORT struct timespec *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a0e1dc80f82d25739631c39b545f812bb">ThreadTimeout</a> (int timeout_ms, struct timespec *spec)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a pthread_cond_timedwait() compatible timespec struct, based on a given timeout in milliseconds.  <a href="#a0e1dc80f82d25739631c39b545f812bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#a06ec709ed2313dd84291b2d295a87d26">Version</a> (int &amp;major, int &amp;minor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills major and minor with integer version numbers, and returns a string containing human readable version information in English.  <a href="#a06ec709ed2313dd84291b2d295a87d26"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Project namespace, containing all related functions and classes. </p>
<p>This is the only namespace applications should be concerned with, for now. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a30255c53ebed390fc98a50e9c5d49984"></a><!-- doxytag: member="Barry::DayToDate" ref="a30255c53ebed390fc98a50e9c5d49984" args="(unsigned short Day)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT time_t Barry::DayToDate </td>
          <td>(</td>
          <td class="paramtype">unsigned short&nbsp;</td>
          <td class="paramname"> <em>Day</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This routine takes the day of the year and returns a time_t adjusted from the first of the year. </p>
<p>FIXME This function assumes the year hasn't changed, but I don't have enough information to determine where the year is in this header info </p>

</div>
</div>
<a class="anchor" id="a8b42d46bf7b5cb8f4d9e0bde1d61f226"></a><!-- doxytag: member="Barry::GetTimeZone" ref="a8b42d46bf7b5cb8f4d9e0bde1d61f226" args="(unsigned short Code)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT const <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> * Barry::GetTimeZone </td>
          <td>(</td>
          <td class="paramtype">unsigned short&nbsp;</td>
          <td class="paramname"> <em>Code</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Searches the internal timezone code table for the given Code and returns a pointer to a <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> struct found. </p>
<p>If the code is not found, a pointer to a valid <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> struct is is still returned, but the struct's Code contains TIME_ZONE_CODE_ERR, and the name is "Unknown time zone." The unknown timezone is the same offset as GMT. </p>

</div>
</div>
<a class="anchor" id="a56ac220ad3edcfbefcebb35c685212d1"></a><!-- doxytag: member="Barry::GetTimeZoneCode" ref="a56ac220ad3edcfbefcebb35c685212d1" args="(signed short HourOffset, signed short MinOffset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT unsigned short Barry::GetTimeZoneCode </td>
          <td>(</td>
          <td class="paramtype">signed short&nbsp;</td>
          <td class="paramname"> <em>HourOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short&nbsp;</td>
          <td class="paramname"> <em>MinOffset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Searches the internal timezone table for the first matching Code. </p>
<p>If no matching Code is found, TIME_ZONE_CODE_ERR is returned.</p>
<p>This function does not adjust for daylight saving time. </p>

</div>
</div>
<a class="anchor" id="ab664177c654a0cb41bc8fc40b39eabda"></a><!-- doxytag: member="Barry::GetTimeZoneTable" ref="ab664177c654a0cb41bc8fc40b39eabda" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT const <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> * Barry::GetTimeZoneTable </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer to an array of <a class="el" href="structBarry_1_1TimeZone.html">TimeZone</a> structs. </p>
<p>The last struct contains 0 in all fields, and can be used as an "end of array" marker. </p>

</div>
</div>
<a class="anchor" id="ae9d92a617771de40f7bb5a15b8da1807"></a><!-- doxytag: member="Barry::GetTotalBitmapSize" ref="ae9d92a617771de40f7bb5a15b8da1807" args="(const JLScreenInfo &amp;info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT size_t Barry::GetTotalBitmapSize </td>
          <td>(</td>
          <td class="paramtype">const JLScreenInfo &amp;&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the total number of bytes needed to convert a screenshot of the given dimensions into a bitmap, using the <a class="el" href="namespaceBarry.html#a9da780aab46e04d16fddd855c85933ba" title="Converts screenshot data obtained via JavaLoader::GetScreenshot() into uncompressed...">ScreenshotToBitmap()</a> function. </p>

</div>
</div>
<a class="anchor" id="a2e28bd59aebe0bece5a46f02ef7dbd3d"></a><!-- doxytag: member="Barry::Init" ref="a2e28bd59aebe0bece5a46f02ef7dbd3d" args="(bool data_dump_mode, std::ostream *logStream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT void Barry::Init </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>data_dump_mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream *&nbsp;</td>
          <td class="paramname"> <em>logStream</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="namespaceBarry.html" title="Project namespace, containing all related functions and classes.">Barry</a> library initializer. </p>
<p>See also the <a class="el" href="classBarry_1_1LogLock.html" title="RAII locking class used to protect the logStream passed into Barry::Init() (common...">LogLock</a> class.</p>
<p>Call this before anything else. This takes care of initializing the lower level libusb.</p>
<p>This function is safe to be called multiple times. The data_dump_mode and the log stream will be updated each time it is called, but the USB library will not be re-initialized.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>data_dump_mode</em>&nbsp;</td><td>If set to true, the protocol conversation will be sent to the logStream specified in the second argument. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>LogStream</em>&nbsp;</td><td>Pointer to std::ostream object to use for debug output and logging. Defaults to std::cout. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aec655def4d700239e60ed3ccb417e0c5"></a><!-- doxytag: member="Barry::IsVerbose" ref="aec655def4d700239e60ed3ccb417e0c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT bool Barry::IsVerbose </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if data dump mode is enabled. </p>

</div>
</div>
<a class="anchor" id="a2f4e6ee9d4afc6a26ae0166329609600"></a><!-- doxytag: member="Barry::Message2Time" ref="a2f4e6ee9d4afc6a26ae0166329609600" args="(uint16_t r_date, uint16_t r_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT time_t Barry::Message2Time </td>
          <td>(</td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>r_date</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>r_time</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Localize the funky math used to convert a Blackberry message timestamp into a time_t. </p>
<p>Both r_date and r_time are expected to be fed in from the <a class="el" href="structBarry_1_1Protocol_1_1MessageRecord.html">Protocol::MessageRecord</a> struct in raw form, without endian conversion. This function handles that. </p>

</div>
</div>
<a class="anchor" id="a9da780aab46e04d16fddd855c85933ba"></a><!-- doxytag: member="Barry::ScreenshotToBitmap" ref="a9da780aab46e04d16fddd855c85933ba" args="(const JLScreenInfo &amp;info, const Data &amp;screenshot, Data &amp;bitmap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT void Barry::ScreenshotToBitmap </td>
          <td>(</td>
          <td class="paramtype">const JLScreenInfo &amp;&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Data &amp;&nbsp;</td>
          <td class="paramname"> <em>screenshot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Data &amp;&nbsp;</td>
          <td class="paramname"> <em>bitmap</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts screenshot data obtained via JavaLoader::GetScreenshot() into uncompressed bitmap format, suitable for writing BMP files. </p>
<p>Arguments info and screenshot come from GetScreenshot() and the converted data is stored in bitmap. </p>

</div>
</div>
<a class="anchor" id="a07808b7a4cabe1399d5432eb1ee1eabf"></a><!-- doxytag: member="Barry::SeekNextCod" ref="a07808b7a4cabe1399d5432eb1ee1eabf" args="(std::istream &amp;input)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Barry::SeekNextCod </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Seeks the input stream to the next packed sibling .cod file and returns the packed .cod file size. </p>
<p>When all siblings have been read, zero is returned.</p>
<p>When input stream does not contain the signature for a packed .cod file, it's assumed the entire stream is the .cod file.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>stream to read from</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of next packed .cod file, or 0 finished reading .cod files </dd></dl>

</div>
</div>
<a class="anchor" id="a0e1dc80f82d25739631c39b545f812bb"></a><!-- doxytag: member="Barry::ThreadTimeout" ref="a0e1dc80f82d25739631c39b545f812bb" args="(int timeout_ms, struct timespec *spec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT struct timespec * Barry::ThreadTimeout </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout_ms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct timespec *&nbsp;</td>
          <td class="paramname"> <em>spec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a pthread_cond_timedwait() compatible timespec struct, based on a given timeout in milliseconds. </p>
<p>Note that the resulting timespec is time-sensitive: the 'timer' starts as soon as this function returns, since timespec is a specific time in the future, and <a class="el" href="namespaceBarry.html#a0e1dc80f82d25739631c39b545f812bb" title="Creates a pthread_cond_timedwait() compatible timespec struct, based on a given timeout...">ThreadTimeout()</a> calculates it based on the current time.</p>
<p>Returns the spec pointer, to make it easy to use with pthread_cond_timedwait() </p>

<p>Referenced by <a class="el" href="dataqueue_8cc_source.html#l00107">Barry::DataQueue::wait_pop()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="namespaceBarry_a0e1dc80f82d25739631c39b545f812bb_icgraph.png" border="0" usemap="#namespaceBarry_a0e1dc80f82d25739631c39b545f812bb_icgraph_map" alt=""></div>
<map name="namespaceBarry_a0e1dc80f82d25739631c39b545f812bb_icgraph_map" id="namespaceBarry_a0e1dc80f82d25739631c39b545f812bb_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DataQueue.html#a27d4830d37b0f7a1bee3a63b0f5a5b2b" title="Pops the next element off the front of the queue, and waits until one exists if empty..." alt="" coords="211,31,403,62"/><area shape="rect" id="node5" href="classBarry_1_1SocketRoutingQueue.html#ae9fac0a9073c44567987230843712e94" title="This version does not perform a copy." alt="" coords="451,5,723,35"/><area shape="rect" id="node7" href="classBarry_1_1SocketRoutingQueue.html#acbe8506c04cb6ff9942766a3ba39cbd4" title="Copying is not performed with this function." alt="" coords="451,58,723,89"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a59da38213acb8827d30bddfc54bbfe2a"></a><!-- doxytag: member="Barry::Verbose" ref="a59da38213acb8827d30bddfc54bbfe2a" args="(bool data_dump_mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT void Barry::Verbose </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>data_dump_mode</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This API call lets the application enable / disable verbose debug output on the fly. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>data_dump_mode</em>&nbsp;</td><td>If set to true, the protocol conversation will be sent to the logStream specified in the <a class="el" href="namespaceBarry.html#a2e28bd59aebe0bece5a46f02ef7dbd3d" title="Barry library initializer.">Barry::Init()</a> call. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a06ec709ed2313dd84291b2d295a87d26"></a><!-- doxytag: member="Barry::Version" ref="a06ec709ed2313dd84291b2d295a87d26" args="(int &amp;major, int &amp;minor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BXEXPORT const char * Barry::Version </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>minor</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fills major and minor with integer version numbers, and returns a string containing human readable version information in English. </p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>