# Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

Barry::AllRecordDumpStore | Derived from AllRecordStore, which just calls each record's Dump() member with the given stream
Barry::AllRecordParser | Convenience parser that creates a MultiRecordParser with all known record parsers added
Barry::AllRecordStore | Base class with overloaded functor behaviour for all available record classes
Barry::BackupError | Thrown by the Backup parser class when there is a problem with the low level file operation
Barry::BadData | Thrown by record classes if their data is invalid and cannot be uploaded to the Blackberry
Barry::BadPackedFormat | Thrown by record classes that don't recognize a given packed format code
Barry::BadPacket | Thrown by the socket class if a packet command's response indicates an error
Barry::BadPassword | A bad or unknown password when talking to the device
Barry::BadSize | Unexpected packet size, or not enough data
Barry::BoostBuilder | This Builder class reads a boost serialization stream, and converts them into DBData records
Barry::BoostParser | This Parser turns incoming records (which can be of any record type included in ALL_KNOWN_PARSER_TYPES) into a Boost Serialization stream on the given iostream
Barry::Builder | Base class for the builder functor hierarchy
Barry::CodFileBuilder | Used to assemble multiple .cod files into a single packed .cod file using the pkzip file format
Barry::ConfigFileError | Thrown by the ConfigFile class when encountering a serious system error while loading the global config file for a given PIN
Barry::Contact | Represents a single record in the Address Book Blackberry database
Barry::ContactLdif | Class for generating LDIF output based on a Barry::Contact record object
Barry::ContactLdif::NameToFunc | Used to create a List of supported Barry field names, including calculated names, such as full postal address
Barry::ContentStore | Represents a single record in the Content Store Blackberry database
Barry::Controller | The main interface class
Barry::ConvertError | Thrown by the vformat related barrysync library classes
Barry::DataHandle | Std::auto_ptr like class that handles pointers to Data, but instead of freeing them completely, the Data objects are turned to the SocketRoutingQueue from whence they came
Barry::DataQueue | This class provides a thread aware fifo queue for Data objects, providing memory management for all Data object pointers it contains
Barry::DBData | Database record data class
Barry::DBDataBuilder | Wrapper class around a DBData object, to make it easy to pass a DBData object into a function or API that requires a builder
Barry::Mode::DBLoader | Database Loader operation class
Barry::DBPacket | Provides an API for building and analyzing raw DB protocol packets
Barry::Mode::Desktop | The main interface class to the device databases
Barry::DeviceBuilder | Takes a list of database dbId's and behaves like a Builder, trying to avoid copies where possible on the device loading end
Barry::DeviceParser | A parser class that "parses" raw data into a device
Barry::DumpStore< RecordT > | A Storage class for RecordParser<> that dumps the parsed record data to the given stream
Barry::ErrnoError | System error that provides an errno error code
Barry::JDWP::Error | Thrown on low level JDWP errors
Barry::Error | The base class for any future derived exceptions
Usb::Error | Thrown on low level USB errors
Barry::HexDumpParser | Dumps raw hex of the given DBData to the given stream
Barry::IConverter | Main charset conversion class, primarily focused on converting between the Blackberry charset and an application-specified one
Barry::IConvHandle | Wrapper class for a two-way iconv_t handle pair
Barry::Mode::JavaLoader | The main interface class to the java program loader protocol
Barry::JLPacket | Provides an API for building and analyzing raw Javaloader protocol packets
Barry::Mode::JVMDebug | The main interface class to the java program debugger protocol
Barry::JVMPacket | Provides an API for building and analyzing raw JavaDebug protocol packets
Barry::LdifStore | Storage class suitable for use in a RecordParser<> or RecordBuilder<>
Barry::LogLock | RAII locking class used to protect the logStream passed into Barry::Init() (common.h)
Barry::Mode::Mode | Base class for simple mode classes
Barry::MultiRecordParser | Container parser class that accepts multiple Parser objects (often RecordParser<> objects but they don't have to be) and automatically routes incoming records to the appropriate parser
Barry::NullParser | If in debug mode, this class can be used as a null parser
Barry::NullStore< RecordT > | A Storage class for RecordParser<> that does nothing, for the cases where you only want to dump parsed record data to a stream
Barry::Parser | Base class for the parser hierarchy
Barry::PinNotFound | Thrown by the Connector class when unable to find the requested Pin If the attached pin is not Valid(), then unable to autodetect device
Barry::Pipe | Reads data from a builder and feeds it into a parser
Barry::Mode::RawChannel | The main class for creating a raw channel session
Barry::RecordBuilder< RecordT, StorageT > | Template class for easy creation of specific protocol packet builder objects
Barry::RecordFetch< RecordT > | Generic record fetch class, to help with using records without builder classes
Barry::RecordParser< RecordT, StorageT > | Template class for easy creation of specific parser objects
Barry::RecordParserBase | Abstract base class for the following RecordParser template, that exposes some information on the specifics that the record parser can handle
Barry::Restore | Barry Backup Restore builder class
Barry::RestoreError | Thrown by the Restore builder class when there is a problem with the low level file operation
Barry::Socket | Encapsulates a "logical socket" in the Blackberry USB protocol
Barry::TeeParser | Sends incoming DBData objects to all the parsers in its list
Barry::Sync::TzWrapper | Wrapper class for the TZ environment variable
Barry::Sync::vAttr | Class for reading a b_VFormatAttribute
Barry::Sync::vBase | Base class containing vformat helper API
Barry::Sync::vCalendar | Class for converting between RFC 2445 iCalendar data format, and the Barry::Calendar class
Barry::Sync::vCard | Class for converting between RFC 2425/2426 vCard data format, and the Barry::Contact class
Barry::Sync::vJournal | Class for converting between RFC 2445 iCalendar data format, and the Barry::Memo class
Barry::vLateSmartPtr< T, FreeFuncPtrT > | Variation of the above smart pointer that allows the user to assign a free function after construction, in the case of dlopen()'d frees
Barry::vSmartPtr< T, FT, FreeFunc > | A special smart pointer for variables that have their own special 'free' functions
Barry::Sync::vTimeConverter | A virtual base class that the plugins may override, to do time related conversions
Barry::Sync::vTodo | Class for converting between RFC 2445 iCalendar data format, and the Barry::Task class
Barry::ZeroPacket | Provides an API for building and analyzing socket-0 protocol packets