|
|
#include "stdafx.h"
#include "t3test.h"
#include "t3testD.h"
#include "calldlg.h"
#include "callnot.h"
#include "externs.h"
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddListen
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddListen( long lMediaType ) { WCHAR szName[256]; TV_INSERTSTRUCT tvi;
//
// map the mediatype bstr to
// a string name (like "audio in")
//
GetMediaTypeName( lMediaType, szName );
//
// insert that string into the
// listen window
//
tvi.hParent = ghListenRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = szName; tvi.item.lParam = (LPARAM) lMediaType; TreeView_InsertItem( ghListenWnd, &tvi );
//
// select the first item
//
SelectFirstItem( ghListenWnd, ghListenRoot ); } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddAddressToTree
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddAddressToTree( ITAddress * pAddress ) { BSTR bstrName; TV_INSERTSTRUCT tvi;
//
// get the name of the address
//
pAddress->get_AddressName( &bstrName );
//
// set up struct
//
tvi.hParent = ghAddressesRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = bstrName; tvi.item.lParam = (LPARAM) pAddress;
//
// addref
//
pAddress->AddRef();
//
// insert it
//
TreeView_InsertItem( ghAddressesWnd, &tvi );
//
// free name
//
SysFreeString( bstrName ); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddMediaType
//
// Add a mediatype to the mediatype tree
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddMediaType( long lMediaType ) { WCHAR szString[256]; TV_INSERTSTRUCT tvi;
//
// get the displayable name
//
GetMediaTypeName( lMediaType, szString );
//
// set up struct
//
tvi.hParent = ghMediaTypesRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = szString; tvi.item.lParam = (LPARAM) lMediaType;
//
// add the item
//
TreeView_InsertItem( ghMediaTypesWnd, &tvi );
//
// select the first item
//
SelectFirstItem( ghMediaTypesWnd, ghMediaTypesRoot ); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddCall
//
// Add a call to the call tree
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddCall( ITCallInfo * pCall ) { TV_INSERTSTRUCT tvi; HTREEITEM hItem; CALL_PRIVILEGE cp; CALL_STATE cs; WCHAR pszName[16];
//
// for the name of the call, use
// the pointer!
//
wsprintf( pszName, L"0x%lx", pCall );
//
// set up struct
//
tvi.hParent = ghCallsRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = pszName; tvi.item.lParam = (LPARAM) pCall;
//
// save a reference
//
pCall->AddRef();
//
// insert the item
//
hItem = TreeView_InsertItem( ghCallsWnd, &tvi );
if (NULL != hItem) { //
// select the item
//
TreeView_SelectItem( ghCallsWnd, hItem ); }
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddTerminal
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddTerminal( ITTerminal * pTerminal ) { BSTR bstrName; BSTR bstrClass; TV_INSERTSTRUCT tvi; TERMINAL_DIRECTION td; WCHAR szName[256];
//
// get the name of the terminal
//
pTerminal->get_Name( &bstrName );
pTerminal->get_Direction( &td );
if (td == TD_RENDER) { wsprintfW(szName, L"%s [Playback]", bstrName); } else if (td == TD_CAPTURE) { wsprintfW(szName, L"%s [Record]", bstrName); } else //if (TD == TD_BOTH)
{ lstrcpyW(szName, bstrName); } //
// set up the structure
//
tvi.hParent = ghTerminalsRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = szName; tvi.item.lParam = (LPARAM) pTerminal;
//
// keep a refence to the terminal
//
pTerminal->AddRef();
//
// add it
//
TreeView_InsertItem( ghTerminalsWnd, &tvi );
//
// free the name
//
SysFreeString( bstrName );
//
// select
//
SelectFirstItem( ghTerminalsWnd, ghTerminalsRoot ); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddPhone
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddPhone( ITPhone * pPhone ) { BSTR bstrName; TV_INSERTSTRUCT tvi; TERMINAL_DIRECTION td; WCHAR szName[256];
//
// get the name of the phone
//
pPhone->get_PhoneCapsString ( PCS_PHONENAME, &bstrName );
lstrcpyW(szName, bstrName);
//
// set up the structure
//
tvi.hParent = ghPhonesRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = szName; tvi.item.lParam = (LPARAM) pPhone;
//
// keep a refence to the phone
//
pPhone->AddRef();
//
// add it
//
TreeView_InsertItem( ghPhonesWnd, &tvi );
//
// free the name
//
SysFreeString( bstrName );
//
// select
//
SelectFirstItem( ghPhonesWnd, ghPhonesRoot ); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddTerminalClass
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddTerminalClass( GUID * pguid ) { TV_INSERTSTRUCT tvi; //
// get the name
//
tvi.item.pszText = GetTerminalClassName( pguid );
//
// set up the struct
//
tvi.hParent = ghClassesRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.lParam = (LPARAM) pguid;
//
// insert the item
//
TreeView_InsertItem( ghClassesWnd, &tvi );
SysFreeString( tvi.item.pszText );
//
// select item
//
SelectFirstItem( ghClassesWnd, ghClassesRoot );
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddCreatedTerminal
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddCreatedTerminal( ITTerminal * pTerminal ) { BSTR bstrName; TV_INSERTSTRUCT tvi;
//
// get the name
//
pTerminal->get_Name( &bstrName );
//
// set up the structure
//
tvi.hParent = ghCreatedRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM;
if ( ( NULL == bstrName ) || (NULL == bstrName[0] )) { tvi.item.pszText = L"<No Name Given>"; } else { tvi.item.pszText = bstrName; }
tvi.item.lParam = (LPARAM) pTerminal;
//
// keep reference
//
pTerminal->AddRef();
//
// insert
//
TreeView_InsertItem( ghCreatedWnd, &tvi );
SysFreeString( bstrName );
//
// select
//
SelectFirstItem( ghCreatedWnd, ghCreatedRoot ); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddSelectedTerminal
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddSelectedTerminal( ITTerminal * pTerminal ) { BSTR bstrName; BSTR pMediaType; TV_INSERTSTRUCT tvi; TERMINAL_DIRECTION td; WCHAR szName[256];
//
// get the name
//
pTerminal->get_Name( &bstrName );
pTerminal->get_Direction( &td );
if (td == TD_RENDER) { wsprintfW(szName, L"%s [Playback]", bstrName); } else if (td == TD_CAPTURE) { wsprintfW(szName, L"%s [Record]", bstrName); } else //if (TD == TD_BOTH)
{ lstrcpyW(szName, bstrName); }
//
// set up the struct
//
tvi.hParent = ghSelectedRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = szName; tvi.item.lParam = (LPARAM) pTerminal;
//
// keep reference
//
pTerminal->AddRef();
//
// insert item
//
TreeView_InsertItem( ghSelectedWnd, &tvi );
//
// free name
//
SysFreeString( bstrName );
//
// select
//
SelectFirstItem( ghSelectedWnd, ghSelectedRoot ); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
//
// AddSelectedCall
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
void CT3testDlg::AddSelectedCall( ITCallInfo * pCall ) { TV_INSERTSTRUCT tvi; WCHAR pszName[16]; //
// for the name of the call, use
// the pointer!
//
wsprintf( pszName, L"0x%lx", pCall );
//
// set up the struct
//
tvi.hParent = ghSelectedCallsRoot; tvi.hInsertAfter = TVI_LAST; tvi.item.mask = TVIF_TEXT | TVIF_PARAM; tvi.item.pszText = pszName; tvi.item.lParam = (LPARAM) pCall;
//
// keep reference
//
pCall->AddRef();
//
// insert item
//
TreeView_InsertItem( ghSelectedCallsWnd, &tvi );
//
// select
//
SelectFirstItem( ghSelectedCallsWnd, ghSelectedCallsRoot ); }
|