This is the only namespace applications should be concerned with, for now.
Classes | |
class | Builder |
Base class for the builder functor hierarchy. More... | |
class | RecordBuilder |
Template class for easy creation of specific protocol packet builder objects. More... | |
class | RecordFetch |
Generic record fetch class, to help with using records without builder classes. More... | |
class | Controller |
The main interface class. More... | |
class | Data |
class | Diff |
class | DataQueue |
This class provides a thread aware fifo queue for Data objects, providing memory management for all Data object pointers it contains. More... | |
class | Error |
The base class for any future derived exceptions. More... | |
class | BadPassword |
A bad or unknown password when talking to the device. More... | |
class | BadData |
Thrown by record classes if their data is invalid and cannot be uploaded to the Blackberry. More... | |
class | BadSize |
Unexpected packet size, or not enough data. More... | |
class | ErrnoError |
System error that provides an errno error code. More... | |
class | ContactLdif |
Class for generating LDIF output based on a Barry::Contact record object. More... | |
class | LogLock |
RAII locking class used to protect the logStream passed into Barry::Init() (common.h). More... | |
class | Modem |
class | Packet |
class | ZeroPacket |
Provides an API for building and analyzing socket-0 protocol packets. More... | |
class | DBPacket |
Provides an API for building and analyzing raw DB protocol packets. More... | |
class | Parser |
Base class for the parser hierarchy. More... | |
class | RecordParser |
Template class for easy creation of specific parser objects. More... | |
class | PppFilter |
struct | ProbeResult |
class | Probe |
class | Calendar |
struct | ContactGroupLink |
class | Contact |
class | Folder |
class | Memo |
class | Message |
class | PINMessage |
class | SavedMessage |
class | ServiceBookConfig |
class | ServiceBook |
class | Task |
class | Timezone |
struct | FieldLink |
struct | CommandTableCommand |
class | CommandTable |
struct | RecordStateTableState |
class | RecordStateTable |
struct | DatabaseItem |
class | DatabaseDatabase |
struct | UnknownData |
struct | UnknownField |
struct | EmailAddress |
struct | PostalAddress |
struct | Date |
class | SocketRoutingQueue |
class | 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. More... | |
class | scoped_lock |
struct | SHA_CTX |
class | SocketZero |
class | Socket |
Encapsulates a "logical socket" in the Blackberry USB protocol. More... | |
struct | TimeZone |
Namespaces | |
namespace | Mode |
namespace | Protocol |
Typedefs | |
typedef std::vector< std::string > | CategoryList |
typedef std::auto_ptr< Socket > | SocketHandle |
typedef long | min1900_t |
Functions | |
void | Init (bool data_dump_mode, std::ostream *logStream) |
See also the LogLock class. | |
bool | IsHexData (const std::string &s) |
istream & | operator>> (istream &is, Data &data) |
ostream & | operator<< (ostream &os, const Data &data) |
ostream & | operator<< (ostream &os, const Diff &diff) |
bool | LoadDataArray (const string &filename, std::vector< Data > &array) |
bool | ReadDataArray (std::istream &is, std::vector< Data > &array) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const ContactLdif &ldif) |
bool | LogVerbose () |
std::ostream * | GetLogStream () |
std::ostream & | operator<< (std::ostream &os, const ProbeResult &pr) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Calendar &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Contact &contact) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Folder &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Memo &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Message &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const PINMessage &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const SavedMessage &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const ServiceBookConfig &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const ServiceBook &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Task &msg) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const Timezone &msg) |
template<class RecordT> | |
const unsigned char * | ParseCommonFields (RecordT &rec, const void *begin, const void *end) |
template<class SizeT> | |
SizeT | ConvertHtoB (SizeT s) |
void | BuildField1900 (Data &data, size_t &size, uint8_t type, time_t t) |
void | BuildField (Data &data, size_t &size, uint8_t type, char c) |
void | BuildField (Data &data, size_t &size, uint8_t type, uint16_t value) |
void | BuildField (Data &data, size_t &size, uint8_t type, const std::string &str) |
void | BuildField (Data &data, size_t &size, uint8_t type, const void *buf, size_t bufsize) |
void | BuildField (Data &data, size_t &size, const Barry::UnknownField &field) |
void | BuildField (Data &data, size_t &size, uint8_t type, const Barry::Protocol::GroupLink &link) |
std::string | ParseFieldString (const Barry::Protocol::CommonField *field) |
std::string | ParseFieldString (const void *data, uint16_t maxlen) |
std::ostream & | operator<< (std::ostream &os, const std::vector< UnknownField > &unknowns) |
std::ostream & | operator<< (std::ostream &os, const EmailAddress &msga) |
std::ostream & | operator<< (std::ostream &os, const PostalAddress &post) |
std::ostream & | operator<< (std::ostream &os, const Date &date) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const CommandTable &command) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const RecordStateTable &rst) |
BXEXPORT std::ostream & | operator<< (std::ostream &os, const DatabaseDatabase &dbdb) |
void | SHA1 (const void *dataIn, int len, unsigned char *hashout) |
void | SHA1_Init (SHA_CTX *ctx) |
void | SHA1_Update (SHA_CTX *ctx, const void *_dataIn, int len) |
void | SHA1_Final (unsigned char hashout[20], SHA_CTX *ctx) |
min1900_t | time2min (time_t t) |
time_t | min2time (min1900_t m) |
const TimeZone * | GetTimeZoneTable () |
Returns a pointer to an array of TimeZone structs. | |
const TimeZone * | GetTimeZone (unsigned short Code) |
Searches the internal timezone code table for the given Code and returns a pointer to a TimeZone struct found. | |
unsigned short | GetTimeZoneCode (signed short HourOffset, signed short MinOffset) |
Searches the internal timezone table for the first matching Code. | |
time_t | DayToDate (unsigned short Day) |
This routine takes the day of the year and returns a time_t adjusted from the first of the year. | |
time_t | Message2Time (uint16_t r_date, uint16_t r_time) |
Localize the funky math used to convert a Blackberry message timestamp into a time_t. | |
const char * | Version (int &major, int &minor) |
Fills major and minor with integer version numbers, and returns a string containing human readable version information in English. | |
Variables | |
bool | __data_dump_mode__ |
std::ostream * | LogStream = &std::cout |
pthread_mutex_t | LogStreamMutex |
bool | __data_dump_mode__ |
std::ostream * | LogStream |
bool | __data_dump_mode__ |
std::ostream * | LogStream |
pthread_mutex_t | LogStreamMutex |
unsigned char | Intro_Sends [][32] |
unsigned char | Intro_Receives [][32] |
FieldLink< Calendar > | CalendarFieldLinks [] |
FieldLink< Contact > | ContactFieldLinks [] |
FieldLink< Folder > | FolderFieldLinks [] |
FieldLink< Memo > | MemoFieldLinks [] |
FieldLink< Message > | MessageFieldLinks [] |
FieldLink< PINMessage > | PINMessageFieldLinks [] |
FieldLink< SavedMessage > | SavedMessageFieldLinks [] |
FieldLink< ServiceBookConfig > | ServiceBookConfigFieldLinks [] |
FieldLink< ServiceBook > | ServiceBookFieldLinks [] |
FieldLink< Task > | TaskFieldLinks [] |
FieldLink< Timezone > | TimezoneFieldLinks [] |
TimeZone | Zones [] |
BXEXPORT time_t Barry::DayToDate | ( | unsigned short | Day | ) |
This routine takes the day of the year and returns a time_t adjusted from the first of the year.
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
Definition at line 186 of file time.cc.
Referenced by Message2Time().
BXEXPORT const TimeZone * Barry::GetTimeZone | ( | unsigned short | Code | ) |
Searches the internal timezone code table for the given Code and returns a pointer to a TimeZone struct found.
If the code is not found, a pointer to a valid TimeZone 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.
Definition at line 149 of file time.cc.
References Barry::TimeZone::Name, TIME_ZONE_CODE_ERR, and Zones.
Referenced by Barry::Calendar::Dump().
BXEXPORT unsigned short Barry::GetTimeZoneCode | ( | signed short | HourOffset, | |
signed short | MinOffset = 0 | |||
) |
Searches the internal timezone table for the first matching Code.
If no matching Code is found, TIME_ZONE_CODE_ERR is returned.
This function does not adjust for daylight saving time.
Definition at line 168 of file time.cc.
References Barry::TimeZone::Name, TIME_ZONE_CODE_ERR, and Zones.
Referenced by Barry::Task::Clear(), and Barry::Calendar::Clear().
BXEXPORT const TimeZone * Barry::GetTimeZoneTable | ( | ) |
BXEXPORT void Barry::Init | ( | bool | data_dump_mode = false , |
|
std::ostream * | logStream = &std::cout | |||
) |
See also the LogLock class.
Call this before anything else. This takes care of initializing the lower level libusb.
[in] | data_dump_mode | If set to true, the protocol conversation will be sent to stdout via the C++ std::cout stream. |
[in] | LogStream | Pointer to std::ostream object to use for debug output and logging. Defaults to std::cout. |
Definition at line 48 of file common.cc.
References __data_dump_mode__, LogStream, and LogStreamMutex.
Referenced by main().
BXEXPORT time_t Barry::Message2Time | ( | uint16_t | r_date, | |
uint16_t | r_time | |||
) |
Localize the funky math used to convert a Blackberry message timestamp into a time_t.
Both r_date and r_time are expected to be fed in from the Protocol::MessageRecord struct in raw form, without endian conversion. This function handles that.
Definition at line 217 of file time.cc.
References btohs, and DayToDate().
Referenced by Barry::SavedMessage::ParseHeader(), Barry::PINMessage::ParseHeader(), and Barry::Message::ParseHeader().
BXEXPORT const char * Barry::Version | ( | int & | major, | |
int & | minor | |||
) |
Fills major and minor with integer version numbers, and returns a string containing human readable version information in English.
Definition at line 39 of file version.cc.
References BARRY_VERSION_MAJOR, BARRY_VERSION_MINOR, and BARRY_VERSION_STRING.
Referenced by Usage().