📄 rvmegacoobjects.h
字号:
rvDeclareMap(RvMegacoPackageItem, RvMegacoParameterValue)
typedef void (*RvMegacoParameterFunc)(const RvMegacoPackageItem *name, const RvMegacoParameterValue *value, void *data);
/*$
{type:
{name: RvMegacoParameterList}
{include: rvmegacoobjects.h}
{description: {p: A list of parameters.}}
{methods:
{method: RvMegacoParameterList *rvMegacoParameterListConstruct(RvMegacoParameterList *x);}
{method: RvMegacoParameterList *rvMegacoParameterListConstructA(RvMegacoParameterList *x, RvAlloc *alloc);}
{method: RvMegacoParameterList *rvMegacoParameterListConstructCopy(RvMegacoParameterList *d, const RvMegacoParameterList *s, RvAlloc *alloc);}
{method: void rvMegacoParameterListDestruct(RvMegacoParameterList *x);}
{method: RvMegacoParameterList *rvMegacoParameterListCopy(RvMegacoParameterList *d, const RvMegacoParameterList *s);}
{method: void rvMegacoParameterListSet(RvMegacoParameterList *x, const RvMegacoPackageItem *name, const RvMegacoParameterValue *value);}
{method: const RvMegacoParameterValue *rvMegacoParameterListGet(const RvMegacoParameterList *x, const RvMegacoPackageItem *name);}
{method: void rvMegacoParameterListForEach(const RvMegacoParameterList *x, RvMegacoParameterFunc f, void *data);}
{method: RvBool rvMegacoParameterListIsEmpty(const RvMegacoParameterList *x);}
}
}
$*/
typedef struct
{
RvMap(RvMegacoPackageItem, RvMegacoParameterValue) list;
} RvMegacoParameterList;
RvMegacoParameterList *rvMegacoParameterListConstruct(RvMegacoParameterList *x);
RvMegacoParameterList *rvMegacoParameterListConstructA(RvMegacoParameterList *x, RvAlloc *alloc);
RvMegacoParameterList *rvMegacoParameterListConstructCopy(RvMegacoParameterList *d, const RvMegacoParameterList *s, RvAlloc *alloc);
void rvMegacoParameterListDestruct(RvMegacoParameterList *x);
RvMegacoParameterList *rvMegacoParameterListCopy(RvMegacoParameterList *d, const RvMegacoParameterList *s);
void rvMegacoParameterListSet(RvMegacoParameterList *x, const RvMegacoPackageItem *name, const RvMegacoParameterValue *value);
void rvMegacoParameterListSet2(RvMegacoParameterList *x, const char *name, const RvMegacoParameterValue *value);
void rvMegacoParameterListAnd(RvMegacoParameterList *x, const RvMegacoPackageItem *name, const char *value);
void rvMegacoParameterListOr(RvMegacoParameterList *x, const RvMegacoPackageItem *name, const char *value);
const RvMegacoParameterValue *rvMegacoParameterListGet(const RvMegacoParameterList *x, const RvMegacoPackageItem *name);
const RvMegacoParameterValue *rvMegacoParameterListGet2(const RvMegacoParameterList *x, const char *name);
unsigned int rvMegacoParameterListGetSize(const RvMegacoParameterList *x);
void rvMegacoParameterListForEach(const RvMegacoParameterList *x, RvMegacoParameterFunc f, void *data);
RvBool rvMegacoParameterListIsEmpty(const RvMegacoParameterList *x);
void rvMegacoParameterListMerge(RvMegacoParameterList* x,const RvMegacoParameterList* source);
/*$
{type:
{name: RvMegacoDigitPositionTimerMode}
{include: rvmegacoobjects.h}
{description:
{p: Used to override normal digit map timer processing:}
{p: RV_MEGACODIGITPOSITION_NOCHANGE - normal processing.}
{p: RV_MEGACODIGITPOSITION_SHORTTIMER - use short timer from now on.}
{p: RV_MEGACODIGITPOSITION_LONGTIMER - use long timer from now on.}
}
}
$*/
typedef enum
{
RV_MEGACODIGITPOSITION_NOCHANGE,
RV_MEGACODIGITPOSITION_SHORTTIMER,
RV_MEGACODIGITPOSITION_LONGTIMER
} RvMegacoDigitPositionTimerMode;
/*$
{type:
{name: RvMegacoDigitPosition}
{include: rvmegacoobjects.h}
{description: {p: Holds the events to be matched at one point in time during dialing.}}
{methods:
{method: RvMegacoDigitPosition *rvMegacoDigitPositionConstruct(RvMegacoDigitPosition *x);}
{method: RvMegacoDigitPosition *rvMegacoDigitPositionConstructCopy(RvMegacoDigitPosition *d, const RvMegacoDigitPosition *s);}
{method: void rvMegacoDigitPositionDestruct(RvMegacoDigitPosition *x);}
{method: RvMegacoDigitPosition *rvMegacoDigitPositionCopy(RvMegacoDigitPosition *d, const RvMegacoDigitPosition *s);}
{method: void rvMegacoDigitPositionAddEvents(RvMegacoDigitPosition *x, char c1, char c2);}
{method: void rvMegacoDigitPositionSetMultipleFlag(RvMegacoDigitPosition *x, RvBool enable);}
{method: void rvMegacoDigitPositionSetLongDurationFlag(RvMegacoDigitPosition *x, RvBool enable);}
{method: void rvMegacoDigitPositionSetTimerMode(RvMegacoDigitPosition *x, RvMegacoDigitPositionTimerMode mode);}
{method: int rvMegacoDigitPositionGetEvents(const RvMegacoDigitPosition *x);}
{method: RvBool rvMegacoDigitPositionIsMultiple(const RvMegacoDigitPosition *x);}
{method: RvBool rvMegacoDigitPositionGetLongDurationFlag(const RvMegacoDigitPosition *x);}
{method: RvMegacoDigitPositionTimerMode rvMegacoDigitPositionGetTimerMode(const RvMegacoDigitPosition *x);}
}
}
$*/
typedef struct
{
int events;
RvBool multiple;
RvBool longDuration;
RvMegacoDigitPositionTimerMode timerMode;
} RvMegacoDigitPosition;
RvMegacoDigitPosition *rvMegacoDigitPositionConstruct(RvMegacoDigitPosition *x);
/*$
{function:
{name: rvMegacoDigitPositionConstructCopy}
{class: RvMegacoDigitPosition}
{include: rvmegacoobjects.h}
{description:
{p: Constructs a copy of a digit position object.}
}
{proto: RvMegacoDigitPosition *rvMegacoDigitPositionConstructCopy(RvMegacoDigitPosition *d, const RvMegacoDigitPosition *s, RvAlloc *alloc);}
{params:
{param: {n:d} {d:The destination digit position object.}}
{param: {n:s} {d:The digit position object to copy.}}
{param: {n:alloc} {d:The allocator to use.}}
}
{returns: A pointer to the constructed object, or NULL if construction failed.}
}
$*/
#define rvMegacoDigitPositionConstructCopy rvDefaultConstructCopy
/*$
{function:
{name: rvMegacoDigitPositionDestruct}
{class: RvMegacoDigitPosition}
{include: rvmegacoobjects.h}
{description:
{p: Destroys a digit position object.}
}
{proto: void rvMegacoDigitPositionDestruct(RvMegacoDigitPosition *x);}
{params:
{param: {n:x} {d:The digit position object.}}
}
}
$*/
#define rvMegacoDigitPositionDestruct rvDefaultDestruct
/*$
{function:
{name: rvMegacoDigitPositionCopy}
{class: RvMegacoDigitPosition}
{include: rvmegacoobjects.h}
{description:
{p: Copies the value of one digit position object to another.}
}
{proto: RvMegacoDigitPosition *rvMegacoDigitPositionCopy(RvMegacoDigitPosition *d, const RvMegacoDigitPosition *s);}
{params:
{param: {n:d} {d:The destination digit position object.}}
{param: {n:s} {d:The digit position object to copy.}}
}
{returns: A pointer to the destination object, or NULL if the copy failed.}
}
$*/
#define rvMegacoDigitPositionCopy rvDefaultCopy
void rvMegacoDigitPositionAddEvents(RvMegacoDigitPosition *x, char c1, char c2);
void rvMegacoDigitPositionSetMultipleFlag(RvMegacoDigitPosition *x, RvBool enable);
void rvMegacoDigitPositionSetLongDurationFlag(RvMegacoDigitPosition *x, RvBool enable);
void rvMegacoDigitPositionSetTimerMode(RvMegacoDigitPosition *x, RvMegacoDigitPositionTimerMode mode);
int rvMegacoDigitPositionGetEvents(const RvMegacoDigitPosition *x);
RvBool rvMegacoDigitPositionIsMultiple(const RvMegacoDigitPosition *x);
RvBool rvMegacoDigitPositionGetLongDurationFlag(const RvMegacoDigitPosition *x);
RvMegacoDigitPositionTimerMode rvMegacoDigitPositionGetTimerMode(const RvMegacoDigitPosition *x);
rvDeclareVector(RvMegacoDigitPosition)
/*$
{type:
{name: RvMegacoDigitString}
{include: rvmegacoobjects.h}
{description: {p: Holds one possible dialing pattern in a dialing plan.}}
{methods:
{method: RvMegacoDigitString *rvMegacoDigitStringConstruct(RvMegacoDigitString *x);}
{method: RvMegacoDigitString *rvMegacoDigitStringConstructA(RvMegacoDigitString *x, RvAlloc *alloc);}
{method: RvMegacoDigitString *rvMegacoDigitStringConstructCopy(RvMegacoDigitString *d, const RvMegacoDigitString *s, RvAlloc *alloc);}
{method: void rvMegacoDigitStringDestruct(RvMegacoDigitString *x);}
{method: RvMegacoDigitString *rvMegacoDigitStringCopy(RvMegacoDigitString *d, const RvMegacoDigitString *s);}
{method: void rvMegacoDigitStringAddElement(RvMegacoDigitString *x, const RvMegacoDigitPosition *pos);}
{method: void rvMegacoDigitStringClear(RvMegacoDigitString *x);}
{method: size_t rvMegacoDigitStringGetSize(const RvMegacoDigitString *x);}
{method: const RvMegacoDigitPosition *rvMegacoDigitStringGetElem(const RvMegacoDigitString *x, size_t index);}
}
}
$*/
typedef struct
{
RvVector(RvMegacoDigitPosition) elements;
} RvMegacoDigitString;
RvMegacoDigitString *rvMegacoDigitStringConstruct(RvMegacoDigitString *x);
RvMegacoDigitString *rvMegacoDigitStringConstructA(RvMegacoDigitString *x, RvAlloc *alloc);
RvMegacoDigitString *rvMegacoDigitStringConstructCopy(RvMegacoDigitString *d, const RvMegacoDigitString *s, RvAlloc *alloc);
void rvMegacoDigitStringDestruct(RvMegacoDigitString *x);
RvMegacoDigitString *rvMegacoDigitStringCopy(RvMegacoDigitString *d, const RvMegacoDigitString *s);
void rvMegacoDigitStringAddElement(RvMegacoDigitString *x, const RvMegacoDigitPosition *pos);
void rvMegacoDigitStringClear(RvMegacoDigitString *x);
size_t rvMegacoDigitStringGetSize(const RvMegacoDigitString *x);
const RvMegacoDigitPosition *rvMegacoDigitStringGetElem(const RvMegacoDigitString *x, size_t index);
extern const unsigned int rvMegacoDigitMapDefaultStartTimeout;
extern const unsigned int rvMegacoDigitMapDefaultShortTimeout;
extern const unsigned int rvMegacoDigitMapDefaultLongTimeout;
/*$
{type:
{name: RvMegacoDigitMapMatchType}
{include: rvmegacoobjects.h}
{description:
{p: Status of dialed digits with respect to a digit map:}
{p: RV_MEGACODIGITMAP_NOMATCH - no patterns will be matched.}
{p: RV_MEGACODIGITMAP_PARTIALMATCH - no patterns are matched yet, but some are still possible.}
{p: RV_MEGACODIGITMAP_FULLMATCH - at least one pattern is matched, others are still possible.}
{p: RV_MEGACODIGITMAP_UNAMBIGUOUSMATCH. - exactly one pattern is matched, no more are possible.}
}
{notes:
{note: see rvMegacoDigitMapMatch().}
}
}
$*/
typedef enum
{
RV_MEGACODIGITMAP_NOMATCH,
RV_MEGACODIGITMAP_PARTIALMATCH,
RV_MEGACODIGITMAP_FULLMATCH,
RV_MEGACODIGITMAP_UNAMBIGUOUSMATCH
} RvMegacoDigitMapMatchType;
rvDeclareVector(RvMegacoDigitString)
/*$
{type:
{name: RvMegacoDigitMap}
{include: rvmegacoobjects.h}
{description: {p: Holds a dialing plan.}}
{methods:
{method: RvMegacoDigitMap *rvMegacoDigitMapConstruct(RvMegacoDigitMap *x);}
{method: RvMegacoDigitMap *rvMegacoDigitMapConstructA(RvMegacoDigitMap *x, RvAlloc *alloc);}
{method: RvMegacoDigitMap *rvMegacoDigitMapConstructCopy(RvMegacoDigitMap *d, const RvMegacoDigitMap *s, RvAlloc *alloc);}
{method: void rvMegacoDigitMapDestruct(RvMegacoDigitMap *x);}
{method: RvMegacoDigitMap *rvMegacoDigitMapCopy(RvMegacoDigitMap *d, const RvMegacoDigitMap *s);}
{method: void rvMegacoDigitMapAddPattern(RvMegacoDigitMap *x, const RvMegacoDigitString *s);}
{method: void rvMegacoDigitMapClear(RvMegacoDigitMap *x);}
{method: void rvMegacoDigitMapSetStartTimeout(RvMegacoDigitMap *x, unsigned int val);}
{method: void rvMegacoDigitMapSetShortTimeout(RvMegacoDigitMap *x, unsigned int val);}
{method: void rvMegacoDigitMapSetLongTimeout(RvMegacoDigitMap *x, unsigned int val);}
{method: size_t rvMegacoDigitMapGetSize(const RvMegacoDigitMap *x);}
{method: const RvMegacoDigitString *rvMegacoDigitMapGetElem(const RvMegacoDigitMap *x, size_t index);}
{method: unsigned int rvMegacoDigitMapGetStartTimeout(const RvMegacoDigitMap *x);}
{method: unsigned int rvMegacoDigitMapGetShortTimeout(const RvMegacoDigitMap *x);}
{method: unsigned int rvMegacoDigitMapGetLongTimeout(const RvMegacoDigitMap *x);}
{method: RvMegacoDigitMapMatchType rvMegacoDigitMapMatch(const RvMegacoDigitMap *x, const char *dialString, unsigned int *timerDuration);}
}
}
$*/
typedef struct
{
RvVector(RvMegacoDigitString) patterns;
unsigned int startTimeout, shortTimeout, longTimeout;
} RvMegacoDigitMap;
RvMegacoDigitMap *rvMegacoDigitMapConstruct(RvMegacoDigitMap *x);
RvMegacoDigitMap *rvMegacoDigitMapConstructA(RvMegacoDigitMap *x, RvAlloc *alloc);
RvMegacoDigitMap *rvMegacoDigitMapConstructCopy(RvMegacoDigitMap *d, const RvMegacoDigitMap *s, RvAlloc *alloc);
void rvMegacoDigitMapDestruct(RvMegacoDigitMap *x);
RvMegacoDigitMap *rvMegacoDigitMapCopy(RvMegacoDigitMap *d, const RvMegacoDigitMap *s);
void rvMegacoDigitMapAddPattern(RvMegacoDigitMap *x, const RvMegacoDigitString *s);
void rvMegacoDigitMapClear(RvMegacoDigitMap *x);
void rvMegacoDigitMapSetStartTimeout(RvMegacoDigitMap *x, unsigned int val);
void rvMegacoDigitMapSetShortTimeout(RvMegacoDigitMap *x, unsigned int val);
void rvMegacoDigitMapSetLongTimeout(RvMegacoDigitMap *x, unsigned int val);
size_t rvMegacoDigitMapGetSize(const RvMegacoDigitMap *x);
const RvMegacoDigitString *rvMegacoDigitMapGetElem(const RvMegacoDigitMap *x, size_t index);
unsigned int rvMegacoDigitMapGetStartTimeout(const RvMegacoDigitMap *x);
unsigned int rvMegacoDigitMapGetShortTimeout(const RvMegacoDigitMap *x);
unsigned int rvMegacoDigitMapGetLongTimeout(const RvMegacoDigitMap *x);
RvMegacoDigitMapMatchType rvMegacoDigitMapMatch(const RvMegacoDigitMap *x, const char *dialString, unsigned int *timerDuration);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -