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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chtnt.h

?? Windows上的MUD客戶端程序
?? H
字號:
/*----------------------------------------------------------------------------
                        _                              _ _       
        /\             | |                            | (_)      
       /  \   _ __   __| |_ __ ___  _ __ ___   ___  __| |_  __ _ 
      / /\ \ | '_ \ / _` | '__/ _ \| '_ ` _ \ / _ \/ _` | |/ _` |
     / ____ \| | | | (_| | | | (_) | | | | | |  __/ (_| | | (_| |
    /_/    \_\_| |_|\__,_|_|  \___/|_| |_| |_|\___|\__,_|_|\__,_|

    The contents of this file are subject to the Andromedia Public
	License Version 1.0 (the "License"); you may not use this file
	except in compliance with the License. You may obtain a copy of
	the License at http://www.andromedia.com/APL/

    Software distributed under the License is distributed on an
	"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
	implied. See the License for the specific language governing
	rights and limitations under the License.

    The Original Code is Pueblo client code, released November 4, 1998.

    The Initial Developer of the Original Code is Andromedia Incorporated.
	Portions created by Andromedia are Copyright (C) 1998 Andromedia
	Incorporated.  All Rights Reserved.

	Andromedia Incorporated                         415.365.6700
	818 Mission Street - 2nd Floor                  415.365.6701 fax
	San Francisco, CA 94103

    Contributor(s):
	--------------------------------------------------------------------------
	   Chaco team:  Dan Greening, Glenn Crocker, Jim Doubek,
	                Coyote Lussier, Pritham Shetty.

					Wrote and designed original codebase.

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

	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());
						}

		inline int GetSessionCount() { return m_iSessions; }

		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 );

		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 ChSpeechStatus;

class ChTNT
{
	public:
		ChTNT( ChSpeechStatus* pSpeechStatus );
		~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 );

		void ForceTalk( bool boolTalk );

		static void PlayVoxFile( const string& strFilepath );

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

		static void UpdatePrefs();

		static ChSpeechStatus* GetStatus() { return m_pStatus; }

	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 ChSpeechStatus*		m_pStatus;
		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 )

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久人人人人传媒| 国产日韩欧美亚洲| 国产日韩欧美一区二区三区综合| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品亚洲一区二区三区在线 | 日韩欧美一区二区免费| 最新中文字幕一区二区三区| 国内精品伊人久久久久av影院| 色婷婷av一区| 国产精品久久久久一区二区三区| 青青草97国产精品免费观看无弹窗版| 91蝌蚪国产九色| 国产精品乱码久久久久久| 另类中文字幕网| 91麻豆精品国产91久久久久久久久| 椎名由奈av一区二区三区| 成人高清伦理免费影院在线观看| 精品国产精品一区二区夜夜嗨| 婷婷开心久久网| 精品视频在线免费看| 亚洲欧美激情视频在线观看一区二区三区 | 制服丝袜国产精品| 亚洲无人区一区| 欧美视频在线一区| 亚洲精品高清在线观看| 色成年激情久久综合| 亚洲欧美日韩国产综合| 波多野结衣中文字幕一区二区三区 | 亚洲人精品午夜| 91性感美女视频| 一区二区在线观看视频| 色欧美片视频在线观看在线视频| 亚洲日本在线视频观看| 91丨porny丨国产入口| 最新日韩在线视频| 91黄色在线观看| 亚洲国产一区二区a毛片| 欧美日韩五月天| 人人狠狠综合久久亚洲| 欧美电影免费观看高清完整版在| 精油按摩中文字幕久久| 2014亚洲片线观看视频免费| 国产麻豆欧美日韩一区| 国产精品热久久久久夜色精品三区 | 欧美精品在线视频| 蜜桃视频在线一区| 国产欧美中文在线| 91视频.com| 青青草国产精品亚洲专区无| 久久香蕉国产线看观看99| 国产馆精品极品| 亚洲综合丝袜美腿| 精品久久久久99| 9l国产精品久久久久麻豆| 一级精品视频在线观看宜春院| 欧美日韩亚洲国产综合| 国产主播一区二区三区| 中文字幕在线观看一区| 欧美嫩在线观看| 极品少妇一区二区| 亚洲色图一区二区| 日韩一区二区三区免费观看| 国产成人精品影视| 夜夜嗨av一区二区三区四季av| 欧美一区二区视频观看视频| 国产成人精品三级麻豆| 亚洲高清中文字幕| 久久久久99精品一区| 在线观看不卡一区| 国产成人高清在线| 日韩专区在线视频| 中文字幕在线观看一区| 日韩一区二区三| 91麻豆精品在线观看| 久久99九九99精品| 亚洲高清在线精品| 国产精品国产a级| 精品久久人人做人人爰| 91在线观看高清| 国产成人鲁色资源国产91色综| 日韩精品一级中文字幕精品视频免费观看| 久久蜜臀中文字幕| 91.麻豆视频| 91免费看片在线观看| 国产精品一区二区黑丝| 日本系列欧美系列| 一区二区三区在线看| 日本一区二区综合亚洲| 精品国产乱码久久久久久免费| 91国产精品成人| 波多野结衣中文字幕一区 | 婷婷激情综合网| 国产精品短视频| 久久先锋资源网| 日韩精品专区在线影院重磅| 欧美日韩一区小说| 91麻豆免费看| 91免费视频网| 91免费视频观看| 色悠久久久久综合欧美99| 成人国产精品免费观看| 国产成+人+日韩+欧美+亚洲| 国产麻豆视频精品| 国产麻豆精品在线观看| 国内精品写真在线观看| 开心九九激情九九欧美日韩精美视频电影 | 国产精品久久久久久久浪潮网站 | 成人在线视频一区| 韩国欧美一区二区| 韩国精品主播一区二区在线观看| 久久成人免费网| 精品亚洲porn| 国产在线一区观看| 国产老妇另类xxxxx| 国产精品一二三四| 成人国产精品视频| 91免费看片在线观看| 欧美性一区二区| 欧美日韩黄色影视| 欧美一区二区三级| 精品国产精品网麻豆系列| 国产亚洲欧洲997久久综合| 欧美tk—视频vk| 久久精品亚洲精品国产欧美| 国产视频一区在线观看| 国产精品福利一区二区三区| 综合久久综合久久| 性欧美疯狂xxxxbbbb| 精品在线播放午夜| 成人永久aaa| 欧美午夜一区二区| 日韩一区二区三区观看| 久久久激情视频| 亚洲乱码一区二区三区在线观看| 悠悠色在线精品| 免费观看日韩电影| 国产·精品毛片| 欧美伊人久久大香线蕉综合69| 日韩一级片在线观看| 国产日韩欧美亚洲| 午夜电影一区二区| 激情综合色播五月| 91丨porny丨首页| 日韩欧美国产三级电影视频| 国产女主播视频一区二区| 一区二区国产视频| 激情文学综合网| 色视频欧美一区二区三区| 欧美一区二区三区免费在线看| 国产视频视频一区| 亚洲国产精品一区二区久久恐怖片| 免费在线观看一区| 91久久奴性调教| 精品免费视频.| 亚洲国产中文字幕| 成人动漫av在线| 91精品国产综合久久福利| 中文字幕精品一区二区精品绿巨人| 亚洲午夜视频在线| 成人小视频免费在线观看| 精品视频免费看| 国产精品色一区二区三区| 日韩成人午夜电影| 色系网站成人免费| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产a区久久久| 欧美夫妻性生活| 亚洲欧美日韩国产手机在线| 国产乱人伦偷精品视频不卡| 777精品伊人久久久久大香线蕉| 欧美韩国日本不卡| 国产在线精品免费| 51精品秘密在线观看| 亚洲欧美日韩国产另类专区| 国产成人精品亚洲日本在线桃色 | 欧美精品九九99久久| 综合久久久久久| 国产成人在线看| 久久在线观看免费| 另类小说欧美激情| 在线播放中文字幕一区| 亚瑟在线精品视频| 在线观看成人免费视频| 亚洲毛片av在线| 色94色欧美sute亚洲13| 亚洲欧美一区二区三区久本道91| 国产成人欧美日韩在线电影| 久久女同互慰一区二区三区| 久久99国产精品免费| 日韩一区二区三区视频| 日本亚洲视频在线| 日韩欧美中文字幕精品| 日韩精品电影一区亚洲| 欧美精品一级二级三级| 亚洲国产日日夜夜| 欧美日韩一区二区在线观看| 亚洲影视资源网| 91精品欧美综合在线观看最新| 视频一区二区三区中文字幕| 这里只有精品免费|