📄 rvmegacotopology.h
字号:
/******************************************************************************
Filename : rvmegacotopology.h
Description: Class for MEGACO Context Topology -
Graph holding terminations and links between them
******************************************************************************
Copyright (c) 1999 RADVision Inc.
************************************************************************
NOTICE:
This document contains information that is proprietary to RADVision LTD.
No part of this publication may be reproduced in any form whatsoever
without written prior approval by RADVision LTD..
RADVision LTD. reserves the right to revise this publication and make
changes without obligation to notify any person of such revisions or
changes.
******************************************************************************
$Revision:$
$Date:11.15.00$
$Author: D.Elbert$
******************************************************************************/
#ifndef RV_MEGACOTOPOLOGY_H
#define RV_MEGACOTOPOLOGY_H
#include "rvtypes.h"
#include "rvgraph.h"
#include "rvalloc.h"
#include "rvmdm.h"
/* Forward declarations */
struct RvMegacoTerm_;
struct RvMegacoMediaStream_;
typedef enum {
RV_MEGACOLINKSTATE_TOCONNECT=1,
RV_MEGACOLINKSTATE_CONNECTED,
RV_MEGACOLINKSTATE_TODISCONNECT
} RvMegacoLinkState;
/******************************************************************************
Link class, used for the context graph
******************************************************************************/
typedef struct rvMegacoLink_ {
RvMdmStreamDirection direction;
RvMdmStreamDirection oldDirection;
/* RvMegacoLinkState state;*/
int refCnt;
} RvMegacoLink;
void rvMegacoLinkConstruct(RvMegacoLink * link);
void rvMegacoLinkDestruct(RvMegacoLink * link);
void rvMegacoLinkConstructEx(RvMegacoLink * link,RvMdmStreamDirection direction);
void rvMegacoLinkSetState(RvMegacoLink * link,RvMegacoLinkState state);
void rvMegacoLinkSetDirection(RvMegacoLink * link,RvMdmStreamDirection direction);
RvMegacoLinkState rvMegacoLinkGetState(RvMegacoLink * link);
RvMdmStreamDirection rvMegacoLinkGetDirection(RvMegacoLink * link);
RvMdmStreamDirection rvMegacoLinkGetOldDirection(RvMegacoLink * link);
RvBool rvMegacoLinkToUpdate(RvMegacoLink * link);
void rvMegacoLinkUpdated(RvMegacoLink * link);
/******************************************************************************
Topology class, used for the context
******************************************************************************/
typedef RvGraph RvMegacoTopology;
#define rvMegacoTopologyGetNumNodes(x) rvGraphGetNumNodes(x)
RvMdmStreamDirection rvMegacoTopologyGetLinkDirection(RvMegacoTopology * x,struct RvMegacoTerm_ * source, struct RvMegacoTerm_ * target);
void rvMegacoTopologyCreateLink(RvMegacoTopology * x,struct RvMegacoTerm_ * source, struct RvMegacoTerm_ * target,RvAlloc * alloc) ;
void rvMegacoTopologyRemoveTerm(RvMegacoTopology * x,struct RvMegacoTerm_ * term,RvAlloc * linkAlloc) ;
void rvMegacoTopologyDisconnectTerm(RvMegacoTopology * x,struct RvMegacoTerm_ * term,RvAlloc * linkAlloc);
void rvMegacoTopologyAddTerm(RvMegacoTopology * x,struct RvMegacoTerm_ * term,RvAlloc * linkAlloc) ;
struct RvMegacoTerm_ * rvMegacoTopologyGetTerm(RvMegacoTopology * x,const char * id) ;
RvBool rvMegacoTopologyUpdate(RvMegacoTopology * x,struct RvMegacoTerm_* chooseTerm,const RvMegacoTopologyDescriptor * topology) ;
RvBool rvMegacoTopologyUpdateMediaConnections(RvMegacoTopology * x,struct RvMdmError_ * error);
void rvMegacoTopologyDuplicate(RvMegacoTopology * x,struct RvMegacoTerm_ * orig,struct RvMegacoTerm_ * copy);
void rvMegacoTopologyDisconnectTermMedia(RvMegacoTopology * x,struct RvMegacoTerm_* term,struct RvMegacoMediaStream_ * stream);
RvBool rvMegacoTopologyIsTermPresent(RvMegacoTopology * x,struct RvMegacoTerm_ * ptr);
unsigned int rvMegacoTopologyGetNumTerm(RvMegacoTopology * x);
struct RvMegacoTerm_ * rvMegacoTopologyGetTermByIndex(RvMegacoTopology * x,unsigned int index);
RvBool rvMegacoTopologyConnectNewTerm(RvMegacoTopology * x,struct RvMegacoTerm_ * term,
struct RvMegacoTerm_ * chosenTerm,
const RvMegacoTopologyDescriptor* topology,
RvMegacoCommandReply * commReply,RvAlloc* a);
#endif /* RV_MEGTOPOLOGY_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -