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

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

?? chvapi.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 ChVAPI object, which manages the interface between
	VAPI and the Sound Module.

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


#if !defined( _CHVAPI_H )
#define _CHVAPI_H

#if defined( CH_USE_VAPI )

#include <vapi.h>


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

#define SESSION_LIMIT		5


/*----------------------------------------------------------------------------
	ChVAPISession class
----------------------------------------------------------------------------*/

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

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

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

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


/*----------------------------------------------------------------------------
	ChVAPISessionMgr class
----------------------------------------------------------------------------*/

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

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

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

		VAPI_SESSION_HANDLE GetSessionHandle( const string& strCallId,
												chflag32* pflOptions = 0 );
		bool Hangup( VAPI_HANDLE hVAPI, const string& strCallId );
		bool ClearSession( const string& strCallId );
		bool ClearSessionHdl( VAPI_SESSION_HANDLE hSession );

		ChVAPISession* Find( const string& strCallId )
						{
							return Find( strCallId, 0 );
						}
		ChVAPISession* Find( VAPI_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 ChVAPISession* GetSession( int iSession )
						{
							return &m_sessionList[iSession];
						}

		ChVAPISession* Find( const string& strCallId, int* piLoc );
		ChVAPISession* Find( VAPI_SESSION_HANDLE hSession, int* piLoc );

		inline int GetSessionCount() { return m_iSessions; }

		bool Hangup( VAPI_HANDLE hVAPI, VAPI_SESSION_HANDLE hSession );

	protected:
		int				m_iSessions;

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


/*----------------------------------------------------------------------------
	ChVAPI class
----------------------------------------------------------------------------*/

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

		static chuint16 GetVAPIPort() { return m_suVAPIPort; }

		static ChVAPI* GetVAPI() { 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 VAPI_HANDLE GetVAPIHandle() { return m_hVAPI; }
		static const string& GetVAPILocalHost() { return m_strVAPILocalHost; }
		static chuint32 GetMikeVolume() { return m_luMikeVolume; }
		static chuint32 GetMikeSensitivity() { return m_luMikeSensitivity; }
		static bool IsRejectingCalls() { return m_boolRejectCalls; }

		static void SetVAPIPort( chuint16 suPort )
						{
							m_suVAPIPort = suPort;
						}
		static void SetVAPILocalHost( const char* pstrLocalHost )
						{
							m_strVAPILocalHost = pstrLocalHost;
						}

		static VAPI_RETCODE NotifyProc( unsigned short wMessage,
										unsigned long hTransaction,
					    				unsigned long dwVapiParamOne,
					    				unsigned long dwVapiParamTwo,
					    				unsigned long dwUserParam );

	protected:
		static ChVAPI*			m_this;
		static int				m_iUsage;

		static VAPI_HANDLE		m_hVAPI;
		static chuint16			m_suVAPIPort;
		static string			m_strVAPILocalHost;

		static ChVAPISessionMgr	m_vapiSessions;

		static VAPI_USER_INFO	m_userInfo;

											// User preferences...

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


#endif	// defined( CH_USE_VAPI )
#endif	// !defined( _CHVAPI_H )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久久久夜| 国产欧美一区二区三区在线老狼| 99久久免费精品高清特色大片| 韩国三级中文字幕hd久久精品| 日本欧美在线观看| 免播放器亚洲一区| 久久国产精品99久久久久久老狼| 韩国一区二区三区| 国产99久久久久久免费看农村| www.亚洲激情.com| 色综合天天视频在线观看 | 日韩三级高清在线| 日韩亚洲欧美在线观看| 久久久久久久久久久99999| 亚洲国产成人一区二区三区| 亚洲精品国产一区二区三区四区在线| 亚洲资源中文字幕| 麻豆91在线观看| 成人免费毛片app| 色国产综合视频| 日韩一区二区视频| 国产精品视频第一区| 亚洲欧美另类图片小说| 亚洲国产精品久久人人爱| 青青草91视频| 99在线精品视频| 欧美日韩国产成人在线免费| 精品播放一区二区| 亚洲色图欧美偷拍| 日本不卡视频一二三区| 成人黄色777网| 69堂精品视频| 欧美国产欧美综合| 三级一区在线视频先锋| 成人av电影在线| 91精品欧美一区二区三区综合在 | 精品在线免费观看| 成人激情视频网站| 337p亚洲精品色噜噜噜| 综合久久综合久久| 免费看欧美美女黄的网站| 91一区一区三区| 精品国产免费视频| 日韩电影在线一区| 91美女在线视频| 国产日韩视频一区二区三区| 日韩电影一二三区| 97国产一区二区| 国产日韩欧美不卡在线| 秋霞国产午夜精品免费视频| 色综合久久中文字幕综合网 | 日本精品一区二区三区高清 | 91国产成人在线| 久久九九99视频| 蜜臀久久久久久久| 欧美精品成人一区二区三区四区| 国产精品美女久久久久久2018| 麻豆精品视频在线观看免费| 欧美午夜精品电影| 亚洲欧美日韩人成在线播放| 风间由美中文字幕在线看视频国产欧美| 91精品一区二区三区久久久久久| 夜夜嗨av一区二区三区中文字幕| 不卡影院免费观看| 国产日韩欧美一区二区三区乱码 | 日韩欧美自拍偷拍| 日韩电影在线观看网站| 欧美日韩国产小视频| 亚洲国产精品一区二区久久恐怖片 | 亚洲人成人一区二区在线观看| 不卡视频免费播放| 国产精品美日韩| 成人国产电影网| 国产精品久久毛片av大全日韩| 国产a久久麻豆| 国产亚洲成年网址在线观看| 国产揄拍国内精品对白| 久久精品亚洲精品国产欧美 | 日韩一区在线播放| 99在线精品观看| 亚洲精品一二三| 欧洲一区二区三区免费视频| 一区二区三区日韩欧美| 欧美日韩在线三区| 日本中文字幕一区二区视频 | 亚洲视频精选在线| 色综合久久久久久久久| 亚洲精品美腿丝袜| 欧美日韩国产高清一区二区三区| 日本不卡一区二区三区| 欧美电视剧免费全集观看| 国产乱人伦偷精品视频不卡 | 国产欧美一区视频| 91蜜桃婷婷狠狠久久综合9色| 亚洲伊人伊色伊影伊综合网 | 国产91高潮流白浆在线麻豆| 国产精品欧美精品| 欧美性受xxxx| 捆绑变态av一区二区三区| 欧美激情一区二区在线| 91麻豆国产香蕉久久精品| 日韩和欧美一区二区三区| 久久久午夜精品理论片中文字幕| av一二三不卡影片| 秋霞成人午夜伦在线观看| 国产日韩v精品一区二区| 在线视频综合导航| 极品少妇一区二区三区精品视频 | 久久天堂av综合合色蜜桃网| 成人动漫一区二区三区| 亚洲va欧美va人人爽午夜| 精品福利一二区| 欧美最猛黑人xxxxx猛交| 精品系列免费在线观看| 亚洲精品一二三四区| 久久人人爽人人爽| 欧美日韩精品欧美日韩精品一综合| 国产河南妇女毛片精品久久久| 亚洲国产精品一区二区久久 | 国产精品家庭影院| 日韩一区二区在线看片| 色噜噜狠狠色综合中国| 国产在线不卡视频| 亚洲大片免费看| 亚洲欧洲99久久| 久久午夜羞羞影院免费观看| 欧美在线观看视频一区二区 | 国产乱码一区二区三区| 亚洲国产成人精品视频| 国产精品视频在线看| 欧美v亚洲v综合ⅴ国产v| 欧美日韩国产一级| 欧美中文字幕一二三区视频| 成人一级片网址| 国产一区二区三区国产| 麻豆成人久久精品二区三区红| 一区二区三区美女视频| 国产精品嫩草影院av蜜臀| 久久久久久免费网| 亚洲精品一区二区三区影院| 欧美一级艳片视频免费观看| 欧美日韩夫妻久久| 91成人在线免费观看| 色综合天天综合在线视频| 91精品国产91久久久久久一区二区 | 久久午夜老司机| 日韩午夜激情电影| 91精品国产色综合久久不卡蜜臀 | 国产真实乱偷精品视频免| 日韩av不卡在线观看| 日韩精品免费视频人成| 亚洲一区二区在线播放相泽| 亚洲制服丝袜在线| 亚洲欧美aⅴ...| 亚洲最大成人综合| 亚洲综合免费观看高清完整版| 自拍偷自拍亚洲精品播放| 欧美国产一区在线| 国产精品美女www爽爽爽| 亚洲日穴在线视频| 亚洲精品福利视频网站| 午夜精品久久久久久久久久久 | 午夜精品一区二区三区三上悠亚| 亚洲一线二线三线久久久| 五月婷婷色综合| 蜜臀av性久久久久蜜臀aⅴ四虎 | 蜜臀91精品一区二区三区| 美国一区二区三区在线播放| 国产精选一区二区三区 | 亚洲一区影音先锋| 日本在线不卡视频| 国产一区二区精品久久99| jlzzjlzz亚洲日本少妇| 91福利国产精品| 欧美大白屁股肥臀xxxxxx| 国产午夜精品一区二区三区嫩草| 国产精品国模大尺度视频| 亚洲国产人成综合网站| 精品一区二区成人精品| av亚洲精华国产精华精| 91精品国产综合久久久久久久久久 | 国产激情视频一区二区在线观看| 成人av电影在线播放| 69堂国产成人免费视频| 亚洲国产激情av| 日本不卡视频在线| 成人app网站| 欧美一区午夜精品| 国产精品久久久久久久久搜平片| 亚洲va国产天堂va久久en| 国产成人免费视频| 欧美日韩视频在线一区二区| 国产人伦精品一区二区| 日韩av中文字幕一区二区三区| 盗摄精品av一区二区三区| 制服丝袜中文字幕一区| 亚洲色欲色欲www| 国产九色sp调教91| 91精品国产综合久久蜜臀| 亚洲欧美日韩中文字幕一区二区三区 |