XLine classes

class CDialogicBoards

? ^ 
Board Management Functions for Intel/Dialogic Telephony line cards.

This Base Class handles all board management functions. Any action which takes place which uniformly affects all lines and events on those lines is handled here.

Note that two classes are contained withing this one.

Source:
DialogicBoards.h:29
Author:
Green Lizard Staff
Version:
1.01

Contents

^ 
EntityTypeScopeShort Description
~CDialogicBoardsdestructor publicThe deconstructor will also delete the CMutex

Since the Mutex is part of the construction sequence, it is automatically deleted when the encapsulating class is deleted.

CDialogicBoardsconstructor publicautomatically generated
CDialogicBoardsconstructor publicSimple Constructor to invoke CMutex default Constructor

We use a constructor only for the sake of invoking the default constructor on the CMutex object which is a member.

CallNumberattribute publicundocumented
Channelclass publicThe Basic line information.
Deviceclass publicUsed for storing Device Information.
DisableTonemethod publicDisable custon tone detection tables
Dtiattribute publicUsed for storing information about DTI reources, including count.
EnableTonemethod publicEnable custom tone detection tables
hLogFileattribute publicundocumented
LineDataclass publicA Simple class for Storeing whether a line is available.
Logmethod publicSend a Log Message.
m_Channelsattribute publicAn array of "Channel" structures, one for each line, dynamically allocated
m_Controlattribute publicUsed for calline back to the control to get its window handle for sending messages.
m_GlobalCallStartedattribute publicWhether or not Global Call has been started.
m_LineDatabaseattribute publicAn array of "LineData" structures, one per line, for reserving lines.
m_MaxChannelsattribute publicThe number of lines on all boards summed up.
m_MaxFaxChannelsattribute publicThe Number of Fax DSP's on the board
m_MaxVoiceDtiChannelsattribute publicThe Number of Digital Voice DSP's on the board
m_mutexattribute publicUsed to synchronize access to the Line Available information.
NumberOfCallsattribute publicundocumented
OpenDevicemethod publicA Helper Function for Setup.
OpenDeviceISDNmethod publicA Helper Function for Setup.
OpenDeviceT1method publicA Helper Function for Setup.
OpenDeviceT1Faxmethod publicOpen a Fax Resource
OpenDeviceT1FaxChannelmethod publicOpen a Fax Channel
operator =operator publicautomatically generated
print_GC_errormethod publicPrint a Global Call Error.
ReleaseLinemethod publicRelease a specific Line.
ReserveAnyLinemethod publicReserve a line, without caring which one is received.
ReserveLinemethod publicReserve a specific line for use.
Route_N1_F1method publicNetwork/Fax Routing Function
Setupmethod publicSetup the Dialogic Board.
TearDownmethod publicTear Down the Dialogic Setup.
Unroute_N1_F1method publicNetwork/Fax Unrouting Function
Voxattribute publicUsed for storing the VOX device count and other information.

destructor ~CDialogicBoards

? ^  > 
The deconstructor will also delete the CMutex

Since the Mutex is part of the construction sequence, it is automatically deleted when the encapsulating class is deleted.

Source:
DialogicBoards.h:80
Code:
public ~ CDialogicBoards ( )

constructor CDialogicBoards

? ^  < > 
automatically generated
Source:
DialogicBoards.h
Code:
public CDialogicBoards ( const CDialogicBoards & )

constructor CDialogicBoards

? ^  < > 
Simple Constructor to invoke CMutex default Constructor

We use a constructor only for the sake of invoking the default constructor on the CMutex object which is a member.

We need this object to synchronize access to the line available list between the application thread and our own thread.

Source:
DialogicBoards.h:71
Code:
public CDialogicBoards ( )

attribute CallNumber

? ^  < > 
undocumented
Source:
DialogicBoards.h:35
Code:
public int CallNumber

class Channel

? ^  < > 
The Basic line information.

This class stores all of the device handles, and other information we need for a single line.

Source:
DialogicBoards.h:228
Author:
Green Lizard Staff
Version:
1.01
Code:
public class Channel

class Device

? ^  < > 
Used for storing Device Information.

Store the board counts for the different types of resources.

Source:
DialogicBoards.h:213
Author:
Green Lizard Staff
Version:
1.01
Code:
public class Device

method DisableTone

? ^  < > 
Disable custon tone detection tables
Source:
DialogicBoards.h:180
Code:
public void DisableTone ( Channel * pline )

attribute Dti

? ^  < > 
Used for storing information about DTI reources, including count.
Source:
DialogicBoards.h:415
Code:
public Device Dti

method EnableTone

? ^  < > 
Enable custom tone detection tables
Source:
DialogicBoards.h:177
Code:
public void EnableTone ( Channel * pline )

attribute hLogFile

? ^  < > 
undocumented
Source:
DialogicBoards.h:36
Code:
public int hLogFile

class LineData

? ^  < > 
A Simple class for Storeing whether a line is available.

Access to this information is process/thread safe for read and write.

Source:
DialogicBoards.h:200
Author:
Green Lizard Staff
Version:
1.01
Code:
public class LineData

method Log

? ^  < > 
Send a Log Message.

A Helper function to centralize the peculiar code we use to jump between Micro$oft thread apartments.

Source:
DialogicBoards.h:141
Code:
public void Log ( int Level ,
int LineNumber ,
LPCSTR Message )

attribute m_Channels

? ^  < > 
An array of "Channel" structures, one for each line, dynamically allocated
Source:
DialogicBoards.h:409
Code:
public Channel * m_Channels

attribute m_Control

? ^  < > 
Used for calline back to the control to get its window handle for sending messages.
Source:
DialogicBoards.h:45
Code:
public void * m_Control

attribute m_GlobalCallStarted

? ^  < > 
Whether or not Global Call has been started.
Source:
DialogicBoards.h:48
Code:
public bool m_GlobalCallStarted

attribute m_LineDatabase

? ^  < > 
An array of "LineData" structures, one per line, for reserving lines.

Process/Thread Safe access.

Source:
DialogicBoards.h:418
Code:
public LineData * m_LineDatabase

attribute m_MaxChannels

? ^  < > 
The number of lines on all boards summed up.
Source:
DialogicBoards.h:51
Code:
public int m_MaxChannels

attribute m_MaxFaxChannels

? ^  < > 
The Number of Fax DSP's on the board
Source:
DialogicBoards.h:57
Code:
public int m_MaxFaxChannels

attribute m_MaxVoiceDtiChannels

? ^  < > 
The Number of Digital Voice DSP's on the board
Source:
DialogicBoards.h:54
Code:
public int m_MaxVoiceDtiChannels

attribute m_mutex

? ^  < > 
Used to synchronize access to the Line Available information.
Source:
DialogicBoards.h:60
Code:
public CMutex m_mutex

attribute NumberOfCalls

? ^  < > 
undocumented
Source:
DialogicBoards.h:34
Code:
public const int NumberOfCalls

method OpenDevice

? ^  < > 
A Helper Function for Setup.

This function handles the initialization which must be done for each channel on the board before any one channel can be used.

Source:
DialogicBoards.h:101
Code:
public void OpenDevice ( int index ,
char * protocol )

method OpenDeviceISDN

? ^  < > 
A Helper Function for Setup.

This function handles the initialization which must be done for each channel on an ISDN board before any one channel can be used.

Source:
DialogicBoards.h:117
Code:
public bool OpenDeviceISDN ( int index )

method OpenDeviceT1

? ^  < > 
A Helper Function for Setup.

This function handles the initialization which must be done for each channel on a T1 board before any one channel can be used.

Source:
DialogicBoards.h:109
Code:
public bool OpenDeviceT1 ( int index )

method OpenDeviceT1Fax

? ^  < > 
Open a Fax Resource
Source:
DialogicBoards.h:189
Code:
public void OpenDeviceT1Fax ( int faxchannels )

method OpenDeviceT1FaxChannel

? ^  < > 
Open a Fax Channel
Source:
DialogicBoards.h:192
Code:
public void OpenDeviceT1FaxChannel ( int faxchannel )

operator =

? ^  < > 
automatically generated
Source:
DialogicBoards.h
Code:
public CDialogicBoards & operator = ( const CDialogicBoards & )

method print_GC_error

? ^  < > 
Print a Global Call Error.

A Helper Function to get the textual information available from the Dialogic driver if a problem arises, for logging.

Source:
DialogicBoards.h:133
Code:
public void print_GC_error ( int index ,
char * msg )

method ReleaseLine

? ^  < > 
Release a specific Line.

We call this when we know a line is clear, or when a call has definitely terminated.

Source:
DialogicBoards.h:174
Code:
public BOOL ReleaseLine ( int LineNumber )

method ReserveAnyLine

? ^  < > 
Reserve a line, without caring which one is received.

This function is usefull when a workload is to be accomplished, but there is no need to choose which lines the work is done. The return is the actual line used. Using this approach, the application does not need to maintain information about which lines are available.

Please note, there are not presently any exposed methods which can take advantage of this design!

Source:
DialogicBoards.h:154
Code:
public int ReserveAnyLine ( void )

method ReserveLine

? ^  < > 
Reserve a specific line for use.

This is called by VoxCall to reserve a Line for a call. All lines start out blocked for a few seconds while the Dialogic board tests to be sure the T1 connections are good. Then unblocked events are sent to the application for each line that is good, and we call "ReleaseLine" for each of these events. This implies that there is a period between when "Start" is called and when "ReserveLine" will succeed: this period ends when the UNBLOCKED message is sent to the application.

Source:
DialogicBoards.h:167
Code:
public BOOL ReserveLine ( int LineNumber )

method Route_N1_F1

? ^  < > 
Network/Fax Routing Function
Source:
DialogicBoards.h:183
Code:
public void Route_N1_F1 ( int netindex ,
int faxchannel )

method Setup

? ^  < > 
Setup the Dialogic Board.

This is done manually so that the application may get a channel count, and then initialize any structure it may require, before Dialogic events start arriving. As soon as the board(s) are set up, at the very least, "UNBLOCKED" messages mayh begin to arrive before any functions are called.

The number of lines is probed for and set in this function.

Source:
DialogicBoards.h:93
Code:
public bool Setup ( void )

method TearDown

? ^  < > 
Tear Down the Dialogic Setup.

The complement to "Setup", this is also done manually. Calling it more than once has no harmful effect.

Source:
DialogicBoards.h:125
Code:
public bool TearDown ( void )

method Unroute_N1_F1

? ^  < > 
Network/Fax Unrouting Function
Source:
DialogicBoards.h:186
Code:
public void Unroute_N1_F1 ( int netindex ,
int faxchannel )

attribute Vox

? ^  < > 
Used for storing the VOX device count and other information.
Source:
DialogicBoards.h:412
Code:
public Device Vox

Created Sun May 14 08:06:43 2006.
This documentation was generated automatically by
ccdoc v08r40 2003/05/15 bin_opt_msvc_MSWin32-x86-multi-thread-4.0.
Click here to submit a bug report or feature request for ccdoc.
Click here to return to the top of the page.