MongoDBCDriver  0.7.1
Classes | Defines | Typedefs | Enumerations | Functions | Variables
bcon.h File Reference

BCON (BSON C Object Notation) Declarations. More...

#include "bson.h"

Go to the source code of this file.

Classes

union  bcon

Defines

#define BEND   "."
 BCON document terminator.
#define BTF   ":_f:"
 BCON internal 01 double Floating point type-specifier.
#define BTS   ":_s:"
 BCON internal 02 char* string type-specifier.
#define BTD   ":_D:"
 BCON internal 03 union bcon* Embedded document interpolation type-specifier.
#define BTA   ":_A:"
 BCON internal 04 union bcon* Array interpolation type-specifier.
#define BTO   ":_o:"
 BCON internal 07 char* ObjectId type-specifier.
#define BTB   ":_b:"
 BCON internal 08 int Boolean type-specifier.
#define BTT   ":_t:"
 BCON internal 09 int64 UTC datetime type-specifier.
#define BTN   ":_v:"
 BCON internal 0A Null type-specifier.
#define BTX   ":_x:"
 BCON internal 0E char* Symbol type-specifier.
#define BTI   ":_i:"
 BCON internal 10 int32 64-bit Integer type-specifier.
#define BTL   ":_l:"
 BCON internal 12 int64 64-bit Integer type-specifier.
#define BTRF   ":Rf:"
 BCON internal 01 double* Floating point reference interpolation type-specifier.
#define BTRS   ":Rs:"
 BCON internal 02 char* string reference interpolation type-specifier.
#define BTRD   ":RD:"
 BCON internal 03 union bcon* Embedded document reference interpolation type-specifier.
#define BTRA   ":RA:"
 BCON internal 04 union bcon* Array reference interpolation type-specifier.
#define BTRO   ":Ro:"
 BCON internal 07 char* ObjectId reference interpolation type-specifier.
#define BTRB   ":Rb:"
 BCON internal 08 int* Boolean reference interpolation type-specifier.
#define BTRT   ":Rt:"
 BCON internal 09 int64* UTC datetime reference interpolation type-specifier.
#define BTRX   ":Rx:"
 BCON internal 0E char* Symbol reference interpolation type-specifier.
#define BTRI   ":Ri:"
 BCON internal 10 int32* 23-bit Integer reference interpolation type-specifier.
#define BTRL   ":Rl:"
 BCON internal 12 int64* 64-bit Integer reference interpolation type-specifier.
#define BTPF   ":Pf:"
 BCON internal 01 double** Floating point pointer interpolation type-specifier.
#define BTPS   ":Ps:"
 BCON internal 02 char** string pointer interpolation type-specifier.
#define BTPD   ":PD:"
 BCON internal 03 union bcon** Embedded document pointer interpolation type-specifier.
#define BTPA   ":PA:"
 BCON internal 04 union bcon** Array pointer interpolation type-specifier.
#define BTPO   ":Po:"
 BCON internal 07 char** ObjectId pointer interpolation type-specifier.
#define BTPB   ":Pb:"
 BCON internal 08 int** Boolean pointer interpolation type-specifier.
#define BTPT   ":Pt:"
 BCON internal 09 int64** UTC datetime pointer interpolation type-specifier.
#define BTPX   ":Px:"
 BCON internal 0E char** Symbol pointer interpolation type-specifier.
#define BTPI   ":Pi:"
 BCON internal 10 int32** 23-bit Integer pointer interpolation type-specifier.
#define BTPL   ":Pl:"
 BCON internal 12 int64** 64-bit Integer pointer interpolation type-specifier.
#define BF(v)   BTF, { .f = (v) }
 BCON 01 double Floating point value.
#define BS(v)   BTS, { .s = (v) }
 BCON 02 char* string value.
#define BD(v)   BTD, { .D = (v) }
 BCON 03 union bcon* Embedded document interpolation value.
#define BA(v)   BTA, { .A = (v) }
 BCON 04 union bcon* Array interpolation value.
#define BO(v)   BTO, { .o = (v) }
 BCON 07 char* ObjectId value.
#define BB(v)   BTB, { .b = (v) }
 BCON 08 int Boolean value.
#define BT(v)   BTT, { .t = (v) }
 BCON 09 int64 UTC datetime value.
#define BNULL   BTN, { .v = ("") }
 BCON 0A Null value.
#define BX(v)   BTX, { .x = (v) }
 BCON 0E char* Symbol value.
#define BI(v)   BTI, { .i = (v) }
 BCON 10 int32 32-bit Integer value.
#define BL(v)   BTL, { .l = (v) }
 BCON 12 int64 64-bit Integer value.
#define BRF(v)   BTRF, { .Rf = (v) }
 BCON 01 double* Floating point interpolation value.
#define BRS(v)   BTRS, { .Rs = (v) }
 BCON 02 char* string interpolation value.
#define BRD(v)   BTRD, { .RD = (v) }
 BCON 03 union bcon* Embedded document interpolation value.
#define BRA(v)   BTRA, { .RA = (v) }
 BCON 04 union bcon* Array interpolation value.
#define BRO(v)   BTRO, { .Ro = (v) }
 BCON 07 char* ObjectId interpolation value.
#define BRB(v)   BTRB, { .Rb = (v) }
 BCON 08 int* Boolean interpolation value.
#define BRT(v)   BTRT, { .Rt = (v) }
 BCON 09 int64* UTC datetime value.
#define BRX(v)   BTRX, { .Rx = (v) }
 BCON 0E char* Symbol interpolation value.
#define BRI(v)   BTRI, { .Ri = (v) }
 BCON 10 int32* 32-bit Integer interpolation value.
#define BRL(v)   BTRL, { .Rl = (v) }
 BCON 12 int64* 64-bit Integer interpolation value.
#define BPF(v)   BTPF, { .Pf = (v) }
 BCON 01 double** Floating point interpolation value.
#define BPS(v)   BTPS, { .Ps = ((char**)v) }
 BCON 02 char** string interpolation value.
#define BPD(v)   BTPD, { .PD = ((union bcon **)v) }
 BCON 03 union bcon** Embedded document interpolation value.
#define BPA(v)   BTPA, { .PA = ((union bcon **)v) }
 BCON 04 union bcon** Array interpolation value.
#define BPO(v)   BTPO, { .Po = ((char**)v) }
 BCON 07 char** ObjectId interpolation value.
#define BPB(v)   BTPB, { .Pb = (v) }
 BCON 08 int** Boolean interpolation value.
#define BPT(v)   BTPT, { .Pt = (v) }
 BCON 09 int64** UTC datetime value.
#define BPX(v)   BTPX, { .Px = ((char**)v) }
 BCON 0E char** Symbol interpolation value.
#define BPI(v)   BTPI, { .Pi = (v) }
 BCON 10 int32** 32-bit Integer interpolation value.
#define BPL(v)   BTPL, { .Pl = (v) }
 BCON 12 int64** 64-bit Integer interpolation value.

Typedefs

typedef MONGO_EXTERN_C_START
union bcon 
bcon
typedef enum bcon_error_t bcon_error_t
typedef MONGO_EXTERN_C_END
enum bcon_token_t 
bcon_token_t

Enumerations

enum  bcon_error_t { BCON_OK = 0, BCON_ERROR, BCON_DOCUMENT_INCOMPLETE, BCON_BSON_ERROR }
enum  bcon_token_t {
  Token_Default, Token_End, Token_Typespec, Token_OpenBrace,
  Token_CloseBrace, Token_OpenBracket, Token_CloseBracket, Token_EOD
}

Functions

MONGO_EXPORT bcon_error_t bson_append_bcon (bson *b, const bcon *bc)
 Append a BCON object to a BSON object.
MONGO_EXPORT bcon_error_t bson_from_bcon (bson *b, const bcon *bc)
 Generate a BSON object from a BCON object.
MONGO_EXPORT void bcon_print (const bcon *bc)
 Print a string representation of a BCON object.

Variables

char * bcon_errstr []
 bcon_error_t text messages

Detailed Description

BCON (BSON C Object Notation) Declarations.


Enumeration Type Documentation

Enumerator:
BCON_OK 

OK return code.

BCON_ERROR 

ERROR return code.

BCON_DOCUMENT_INCOMPLETE 

bcon document or nesting incomplete

BCON_BSON_ERROR 

bson finish error


Function Documentation

MONGO_EXPORT void bcon_print ( const bcon bc)

Print a string representation of a BCON object.

Parameters:
bcthe BCON object to print.
MONGO_EXPORT bcon_error_t bson_append_bcon ( bson b,
const bcon bc 
)

Append a BCON object to a BSON object.

Parameters:
ba BSON object
bca BCON object
MONGO_EXPORT bcon_error_t bson_from_bcon ( bson b,
const bcon bc 
)

Generate a BSON object from a BCON object.

Parameters:
ba BSON object
bca BCON object

Generate a BSON object from a BCON object.

Parameters:
ba BSON object
bca BCON object match with bson_destroy