dbUserFunction Class Reference

#include <query.h>

List of all members.


Detailed Description

dbUserFunction class is used to bind user defined functions to the database.

This class contains list of all user functions declared by application and provides method for locating function by name and adding new user defined functions. User defined functions can have fro 0 till 3 parameters (of dbUserFunctionArgument type) and should return integer, boolean, real or string value. Type of the function is detected by overloaded constructors. User defined function descriptor is cerated by USER_FUNC macro.

Public Member Functions

int getParameterType ()
int getNumberOfParameters ()
 dbUserFunction (bool(*f)(db_int8), char *name)
 dbUserFunction (bool(*f)(real8), char *name)
 dbUserFunction (bool(*f)(char const *), char *name)
 dbUserFunction (db_int8(*f)(db_int8), char *name)
 dbUserFunction (db_int8(*f)(real8), char *name)
 dbUserFunction (db_int8(*f)(char const *), char *name)
 dbUserFunction (real8(*f)(db_int8), char *name)
 dbUserFunction (real8(*f)(real8), char *name)
 dbUserFunction (real8(*f)(char const *), char *name)
 dbUserFunction (char *(*f)(db_int8), char *name)
 dbUserFunction (char *(*f)(real8), char *name)
 dbUserFunction (char *(*f)(char const *), char *name)
 dbUserFunction (bool(*f)(dbUserFunctionArgument &), char *name)
 dbUserFunction (char *(*f)(dbUserFunctionArgument &), char *name)
 dbUserFunction (db_int8(*f)(dbUserFunctionArgument &), char *name)
 dbUserFunction (real8(*f)(dbUserFunctionArgument &), char *name)
 dbUserFunction (bool(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (char *(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (db_int8(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (real8(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (bool(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (char *(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (db_int8(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 dbUserFunction (real8(*f)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &), char *name)
 ~dbUserFunction ()

Static Public Member Functions

static dbUserFunctionfind (char const *name)

Private Types

enum  funcType {
  fInt2Bool,
  fReal2Bool,
  fStr2Bool,
  fInt2Int,
  fReal2Int,
  fStr2Int,
  fInt2Real,
  fReal2Real,
  fStr2Real,
  fInt2Str,
  fReal2Str,
  fStr2Str,
  fArg2Bool,
  fArg2Int,
  fArg2Real,
  fArg2Str,
  fArgArg2Bool,
  fArgArg2Int,
  fArgArg2Real,
  fArgArg2Str,
  fArgArgArg2Bool,
  fArgArgArg2Int,
  fArgArgArg2Real,
  fArgArgArg2Str
}

Private Member Functions

void bind (char *name, void *f, funcType ftype)

Private Attributes

void * fptr
char * fname
dbUserFunctionnext
int type

Static Private Attributes

static dbUserFunctionlist

Friends

class dbDatabase
class dbCompiler


Member Enumeration Documentation

enum funcType [private]

Enumerator:
fInt2Bool 
fReal2Bool 
fStr2Bool 
fInt2Int 
fReal2Int 
fStr2Int 
fInt2Real 
fReal2Real 
fStr2Real 
fInt2Str 
fReal2Str 
fStr2Str 
fArg2Bool 
fArg2Int 
fArg2Real 
fArg2Str 
fArgArg2Bool 
fArgArg2Int 
fArgArg2Real 
fArgArg2Str 
fArgArgArg2Bool 
fArgArgArg2Int 
fArgArgArg2Real 
fArgArgArg2Str 


Constructor & Destructor Documentation

dbUserFunction ( bool(*)(db_int8 f,
char *  name 
) [inline]

dbUserFunction ( bool(*)(real8 f,
char *  name 
) [inline]

dbUserFunction ( bool(*)(char const *)  f,
char *  name 
) [inline]

dbUserFunction ( db_int8(*)(db_int8 f,
char *  name 
) [inline]

dbUserFunction ( db_int8(*)(real8 f,
char *  name 
) [inline]

dbUserFunction ( db_int8(*)(char const *)  f,
char *  name 
) [inline]

dbUserFunction ( real8(*)(db_int8 f,
char *  name 
) [inline]

dbUserFunction ( real8(*)(real8 f,
char *  name 
) [inline]

dbUserFunction ( real8(*)(char const *)  f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(db_int8 f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(real8 f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(char const *)  f,
char *  name 
) [inline]

dbUserFunction ( bool(*)(dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( db_int8(*)(dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( real8(*)(dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( bool(*)(dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( db_int8(*)(dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( real8(*)(dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( bool(*)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

dbUserFunction ( char *(*)(dbUserFunctionArgument &, dbUserFunctionArgument &, dbUserFunctionArgument &)  f,
char *  name 
) [inline]

~dbUserFunction (  ) 


Member Function Documentation

void bind ( char *  name,
void *  f,
funcType  ftype 
) [private]

static dbUserFunction* find ( char const *  name  )  [inline, static]

int getParameterType (  ) 

int getNumberOfParameters (  ) 


Friends And Related Function Documentation

friend class dbDatabase [friend]

friend class dbCompiler [friend]


Member Data Documentation

void* fptr [private]

char* fname [private]

dbUserFunction* next [private]

dbUserFunction * list [static, private]

int type [private]


Online Library Docs

sipXecs home page

Version 4.2.1-018930 2010-07-31T01:13:23 build16 abuild