亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chvapi.h.old

?? Windows上的MUD客戶端程序
?? OLD
字號:
/*----------------------------------------------------------------------------

            .###.  ###     ###       ,#,          .###.    ,#######,
         ,####""   ###    .###     ,##'##,     ,####""   .##'    `##.
        ###        ###########    ,##' `##,   ###       ####      ####
        ###..      ###'    ###  ,###########, ####..    `###,    ,##'
          `######  ###     ###  `##'     `##'   `######   `########'


	Copyright 1995, Chaco Communications, Inc. All rights reserved.
	Unpublished -- Rights reserved under the copyright laws of the United
	States.  Use of a copyright notice is precautionary only and does no
	imply publication or disclosure.

	This software contains confidential information and trade secrets of
	Chaco Communications, Inc.  Use, disclosure, or reproduction is
	prohibited without the prior express written permission of Chaco
	Communications, Inc.

	RESTRICTED RIGHTS LEGEND

	Use, duplication, or disclosure by the Government is subject to
	restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
	Technical Data and Computer Software clause at DFARS 252.227-7013.

	Chaco Communications, Inc.
	10164 Parkwood Drive, Suite 8, Cupertino, CA, 95014-1533

------------------------------------------------------------------------------

	Header file for the ChTNT object, which manages the interface between
	TNT and the Sound Module.

----------------------------------------------------------------------------*/


#if !defined( _CHTNT_H )
#define _CHTNT_H

#if defined( CH_USE_VOXWARE )

#define VOXWARE_WIN32
#include <tnt.h>


/*----------------------------------------------------------------------------
	Constants
----------------------------------------------------------------------------*/

#define SESSION_LIMIT		5


/*----------------------------------------------------------------------------
	ChTNTSession class
----------------------------------------------------------------------------*/

class ChTNTSession
{
	public:
		ChTNTSession();
		~ChTNTSession();

	public:
		inline const string& GetId() { return m_strCallId; }
		inline TNT_SESSION_HANDLE GetSessionHdl() { return m_hSession; }
		inline chflag32 GetOptions() { return m_flOptions; }

		inline void Set( TNT_SESSION_HANDLE hSession,
							const string& strCallId,
							chflag32 flOptions )
					{
						m_strCallId = strCallId;
						m_hSession = hSession;
						m_flOptions = flOptions;
					}
		inline void SetSessionHdl( TNT_SESSION_HANDLE hSession )
					{
						m_hSession = hSession;
					}

	protected:
		string						m_strCallId;
		TNT_SESSION_HANDLE			m_hSession;
		chflag32					m_flOptions;
};


/*----------------------------------------------------------------------------
	ChTNTSessionMgr class
----------------------------------------------------------------------------*/

class ChTNTSessionMgr
{
	public:
		ChTNTSessionMgr();
		~ChTNTSessionMgr();

	public:
		inline bool AllSessionsInUse()
						{
							return (SESSION_LIMIT <= GetSessionCount());
						}

		bool Set( const string& strCallId, TNT_SESSION_HANDLE hSession,
					chflag32 flOptions );

		TNT_SESSION_HANDLE GetSessionHandle( const string& strCallId,
												chflag32* pflOptions = 0 );
		bool Hangup( TNT_HANDLE hTNT, const string& strCallId );
		bool ClearSession( const string& strCallId );
		bool ClearSessionHdl( TNT_SESSION_HANDLE hSession );

		ChTNTSession* Find( const string& strCallId )
						{
							return Find( strCallId, 0 );
						}
		ChTNTSession* Find( TNT_SESSION_HANDLE hSession )
						{
							return Find( hSession, 0 );
						}

	protected:
		inline bool IsInUse( int iSession )
						{
							return m_boolSessionInUse[iSession];
						}
		inline void SetInUse( int iSession, bool boolInUse = true )
						{
							if (IsInUse( iSession ) && !boolInUse)
							{
								++m_iSessions;
							}
							else if (!IsInUse( iSession ) && boolInUse)
							{
								--m_iSessions;
							}

							m_boolSessionInUse[iSession] = boolInUse;
						}
		inline ChTNTSession* GetSession( int iSession )
						{
							return &m_sessionList[iSession];
						}

		ChTNTSession* Find( const string& strCallId, int* piLoc );
		ChTNTSession* Find( TNT_SESSION_HANDLE hSession, int* piLoc );

		inline int GetSessionCount() { return m_iSessions; }

		bool Hangup( TNT_HANDLE hTNT, TNT_SESSION_HANDLE hSession );

	protected:
		int				m_iSessions;

		ChTNTSession	m_sessionList[SESSION_LIMIT];
		bool			m_boolSessionInUse[SESSION_LIMIT];
};


/*----------------------------------------------------------------------------
	ChTNT class
----------------------------------------------------------------------------*/

class ChTNT
{
	public:
		ChTNT();
		~ChTNT();

		static chuint16 GetTNTPort() { return m_suTNTPort; }

		static ChTNT* GetTNT() { return m_this; }

		static bool MakeCall( const string& strCallId, const string& strHost,
								chuint16 suPort, chflag32 flOptions,
								chflag32 flRemoteOptions );
		static bool Hangup( const string& strCallId );

		static void SetMikeSensitivity( chuint32 luValue );
		static void SetMikeVolume( chuint32 luValue );

		static void UpdatePrefs();

	protected:
		static TNT_HANDLE GetTNTHandle() { return m_hTNT; }
		static const string& GetTNTLocalHost() { return m_strTNTLocalHost; }
		static chuint32 GetMikeVolume() { return m_luMikeVolume; }
		static chuint32 GetMikeSensitivity() { return m_luMikeSensitivity; }
		static bool IsRejectingCalls() { return m_boolRejectCalls; }

		static void SetTNTPort( chuint16 suPort )
						{
							m_suTNTPort = suPort;
						}
		static void SetTNTLocalHost( const char* pstrLocalHost )
						{
							m_strTNTLocalHost = pstrLocalHost;
						}

		static TNT_RETCODE TNT_FAR TNT_PASCAL TNT_LOADDS
			NotifyProc( TNT_HANDLE hTNT, unsigned short wMessage,
						TNT_TRANSACTION_HANDLE hTransaction,
	    				unsigned long dwParam1, unsigned long dwParam2,
	    				TNT_USER_HANDLE hUser );

	protected:
		static ChTNT*			m_this;
		static int				m_iUsage;

		static TNT_HANDLE		m_hTNT;
		static chuint16			m_suTNTPort;
		static string			m_strTNTLocalHost;

		static ChTNTSessionMgr		m_tntSessions;

		static TNT_USER_INFO		m_userInfo;

											// User preferences...

		static chuint32				m_luMikeVolume;
		static chuint32				m_luMikeSensitivity;
		static bool					m_boolRejectCalls;
};


#endif	// defined( CH_USE_VOXWARE )
#endif	// !defined( _CHTNT_H )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图制服诱惑| 99久久综合99久久综合网站| 国产在线精品国自产拍免费| 91视频观看视频| 一级女性全黄久久生活片免费| 日本三级韩国三级欧美三级| 91在线视频观看| 国产校园另类小说区| 石原莉奈在线亚洲二区| 色久优优欧美色久优优| 国产日韩av一区| 久久国产剧场电影| 91精品综合久久久久久| 伊人色综合久久天天| 国产成人精品免费一区二区| 日韩女优av电影在线观看| 亚洲一卡二卡三卡四卡| 91小视频在线免费看| 国产精品三级视频| 国产精品一区二区三区四区| 亚洲精品在线电影| 欧美a级理论片| 欧美日韩一卡二卡三卡| 亚洲成在人线在线播放| 色8久久精品久久久久久蜜| 1区2区3区国产精品| 成人动漫在线一区| 国产日韩在线不卡| 懂色av一区二区三区蜜臀| 久久理论电影网| 国产一区二区不卡在线 | 久久中文娱乐网| 麻豆极品一区二区三区| 欧美xingq一区二区| 老司机午夜精品99久久| 精品国产精品网麻豆系列| 久久99精品国产.久久久久| 欧美xxxx在线观看| 国产黄人亚洲片| 国产精品嫩草影院av蜜臀| jizz一区二区| 亚洲欧美视频在线观看| 欧美丝袜自拍制服另类| 香蕉成人啪国产精品视频综合网| 91精品国产手机| 国产一区二区在线观看免费| 国产欧美一区二区精品忘忧草| 成人毛片老司机大片| 亚洲女爱视频在线| 3d成人动漫网站| 国产在线一区二区| 亚洲同性同志一二三专区| 91久久免费观看| 麻豆精品一区二区av白丝在线| 欧美精品一区二区三区久久久| 成人黄色在线视频| 亚洲成人av资源| 精品国产1区二区| 99精品桃花视频在线观看| 午夜a成v人精品| 久久精品在线观看| 欧美体内she精高潮| 狠狠色丁香婷婷综合| 中文字幕日韩av资源站| 欧美老人xxxx18| 国产69精品一区二区亚洲孕妇| 亚洲精品乱码久久久久| 精品国产免费人成在线观看| 99视频热这里只有精品免费| 亚洲高清免费一级二级三级| 国产亚洲一区二区在线观看| 91久久香蕉国产日韩欧美9色| 久久国产精品72免费观看| 久久se精品一区精品二区| 中文字幕一区二区三区在线播放 | 欧美精品一区在线观看| 91蜜桃网址入口| 久久草av在线| 亚洲伊人色欲综合网| 久久亚洲私人国产精品va媚药| 97se亚洲国产综合在线| 日本美女一区二区三区| 亚洲欧美怡红院| 久久久久久久久久久久久夜| 欧美精品视频www在线观看 | 欧美四级电影在线观看| 国产剧情一区二区| 日韩精品免费专区| 一区二区在线看| 日本一区二区三区高清不卡| 日韩精品一区二区三区蜜臀 | 欧美精品一区二区三区四区| 在线观看免费一区| av一区二区三区在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 在线观看一区二区视频| 国产精品亚洲人在线观看| 麻豆一区二区99久久久久| 亚洲国产一区二区三区| 亚洲综合男人的天堂| 一区在线观看视频| 国产精品欧美一级免费| 中文字幕国产一区二区| 久久久噜噜噜久噜久久综合| 久久综合视频网| 欧美电影免费提供在线观看| 在线成人av影院| 91精品久久久久久久91蜜桃| 欧美日韩高清在线播放| 欧美日韩一本到| 欧美性感一类影片在线播放| 欧美性大战久久久| 欧美性高清videossexo| 欧美男人的天堂一二区| 91麻豆精品国产自产在线观看一区 | 欧美一区二区三区的| 9191久久久久久久久久久| 在线播放一区二区三区| 欧美一区二区三区免费观看视频| 欧美一级二级在线观看| 欧美大肚乱孕交hd孕妇| 精品欧美久久久| 国产欧美精品日韩区二区麻豆天美| 久久久久9999亚洲精品| 国产精品丝袜久久久久久app| 蜜桃一区二区三区在线观看| 伦理电影国产精品| 国产一区二区三区免费| 懂色av一区二区三区免费观看| 成人app网站| 欧美这里有精品| 日韩亚洲欧美成人一区| 国产日韩欧美a| 亚洲欧美经典视频| 日本欧美一区二区| 国产成人在线网站| 99精品在线观看视频| 69堂国产成人免费视频| 久久久久久电影| 一区二区三区**美女毛片| 免费av网站大全久久| 丁香啪啪综合成人亚洲小说| 欧美自拍偷拍午夜视频| 精品国产乱码久久久久久1区2区 | 亚洲电影一区二区三区| 免费成人在线观看视频| 丁香六月综合激情| 在线精品视频一区二区三四 | 欧美精品久久天天躁| 久久中文娱乐网| 亚洲国产色一区| 国产成人精品免费网站| 在线不卡中文字幕| 综合电影一区二区三区 | 精品国产一二三| 亚洲欧美色一区| 激情综合色丁香一区二区| 97se亚洲国产综合自在线| 精品国产一区二区在线观看| 中文字幕日韩av资源站| 九色综合狠狠综合久久| 色婷婷亚洲一区二区三区| 精品国产乱码久久久久久久 | 自拍偷拍亚洲欧美日韩| 日本最新不卡在线| 色综合久久中文字幕综合网 | 福利电影一区二区| 91精品婷婷国产综合久久性色 | 色综合久久久久久久久久久| 精品免费日韩av| 亚洲国产精品综合小说图片区| 国产电影精品久久禁18| 日韩欧美国产综合在线一区二区三区 | 日韩欧美国产精品| 亚洲女人的天堂| 99热99精品| 国产欧美精品区一区二区三区 | 欧美写真视频网站| 国产亚洲人成网站| 久久电影国产免费久久电影| 欧美视频一区二区| 亚洲欧美激情小说另类| 成人丝袜高跟foot| 国产午夜亚洲精品羞羞网站| 极品美女销魂一区二区三区| 91精品国产美女浴室洗澡无遮挡| 一区二区三区在线观看欧美| 97精品视频在线观看自产线路二| 欧美国产欧美综合| 国产精品77777竹菊影视小说| 精品美女一区二区| 韩国精品主播一区二区在线观看 | 在线亚洲一区二区| 中文字幕佐山爱一区二区免费| 成人午夜av电影| 欧美激情一区二区三区不卡| 成人丝袜视频网| 国产精品国产a| 91麻豆国产自产在线观看| 亚洲黄色在线视频|