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

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

?? mcu.cxx

?? 這是一個OPENH323中的MCU程序
?? CXX
?? 第 1 頁 / 共 2 頁
字號:
/*
 * mcu.cxx
 *
 * Main MCU process routines for a simple MCU
 *
 * Copyright (C) 2000 Equivalence Pty. Ltd.
 * Copyright (C) 2004 Post Increment
 *
 * The contents of this file are subject to the Mozilla 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.mozilla.org/MPL/
 *
 * 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 Portable Windows Library.
 *
 * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
 *
 * Portions of ths code were written by by Post Increment (http://www.postincrement.com) 
 * with the assistance of funding from Stonevoice, slc. http://www.stonevoice.com
 *
 * Portions of this code were written by Post Increment (http://www.postincrement.com) 
 * with the assistance of funding from Citron Networks (http://www.citron.com.tw)
 *
 * Contributor(s): Derek J Smithies (derek@indranet.co.nz)
 *                 Craig Southeren (craig@postincrement.com)
 *
 * $Log: mcu.cxx,v $
 * Revision 1.2  2007/10/20 12:04:57  shorne
 * Fix small compile error with ptlib v1.12
 *
 * Revision 1.1  2007/10/17 19:44:31  shorne
 * Initial Commit
 *
 * Revision 2.2.2.1  2007/08/16 20:29:01  shorne
 * Better Gatekeeper anf Gateway prefix support
 *
 * Revision 2.3  2007/02/12 23:36:23  csoutheren
 * Applied 1636260 - OpenMCU patch to have return link in web UI
 * Thanks to RM Fleming
 *
 * Revision 2.2  2006/07/14 05:28:01  csoutheren
 * Removed old code
 *
 * Revision 2.1  2006/06/09 04:39:59  csoutheren
 * Migrated VideoBranch to main trunk
 *
 * Revision 1.1.2.5  2006/04/26 13:09:08  csoutheren
 * Fix problem when connecting file not available
 * Add optional time limit for rooms
 *
 * Revision 1.1.2.4  2006/04/18 00:32:41  csoutheren
 * Removed dependence on custom.h
 *
 * Revision 1.1.2.3  2006/04/06 01:11:16  csoutheren
 * Latest sources include
 *   - premedia blanking and optional image display
 *   - ablity to defer conference join for authentication if required
 *   - more bulletproofing on conference join
 *   - new video copy/fill functions
 *
 * Revision 1.1.2.2  2006/04/06 00:50:30  csoutheren
 * Latest changes (more to come)
 *
 * Revision 1.1.2.1  2006/03/28 05:13:38  csoutheren
 * Normalised file headers
 * Fixed problem with QCIF video
 * Seperated H.323 and MCU process functions into seperate files
 *
 */

#include <ptlib.h>

#include "version.h"
#include "mcu.h"
#include "h323.h"

const WORD DefaultHTTPPort = 1420;

extern PHTTPServiceProcess::Info ProductInfo;

static const char LogLevelKey[]           = "Log Level";
static const char UserNameKey[]           = "Username";
static const char PasswordKey[]           = "Password";
static const char HttpPortKey[]           = "HTTP Port";

static const char CallLogFilenameKey[]    = "Call log filename";

#if P_SSL
static const char HTTPCertificateFileKey[]  = "HTTP Certificate";
#endif
static const char DefaultRoomKey[]          = "Default room";
static const char DefaultRoomTimeLimitKey[] = "Room time limit";

static const char DefaultCallLogFilename[] = "mcu_log.txt"; 
static const char DefaultRoom[]            = "room101";

#if OPENMCU_VIDEO
static const char ForceSplitVideoKey[]   = "Force split screen video";
#endif

#define new PNEW


///////////////////////////////////////////////////////////////

class MainStatusPage : public PServiceHTTPString
{
 // PCLASSINFO(MainStatusPage, PServiceHTTPString);

  public:
    MainStatusPage(OpenMCU & app, PHTTPAuthority & auth);
    
    virtual BOOL Post(
      PHTTPRequest & request,
      const PStringToString &,
      PHTML & msg
    );
  
  private:
    OpenMCU & app;
};

class InvitePage : public PServiceHTTPString
{
 // PCLASSINFO(InvitePage, PServiceHTTPString);

  public:
    InvitePage(OpenMCU & app, PHTTPAuthority & auth);

    virtual BOOL Post(
      PHTTPRequest & request,       // Information on this request.
      const PStringToString & data, // Variables in the POST data.
      PHTML & replyMessage          // Reply message for post.
    );
  
  private:
    OpenMCU & app;
};

///////////////////////////////////////////////////////////////
// This really isn't the default count only a counter
// for sending aliases and prefixes to the gatekeeper
int OpenMCU::defaultRoomCount = 5;

OpenMCU::OpenMCU()
  : OpenMCUProcessAncestor(ProductInfo)
{
  endpoint = NULL;
}

void OpenMCU::Main()
{
  Suspend();
}

BOOL OpenMCU::OnStart()
{
  // change to the default directory to the one containing the executable
  PDirectory exeDir = GetFile().GetDirectory();

#if defined(_WIN32) && defined(_DEBUG)
  // Special check to aid in using DevStudio for debugging.
  if (exeDir.Find("\\Debug\\") != P_MAX_INDEX)
    exeDir = exeDir.GetParent();
#endif
  exeDir.Change();

  httpNameSpace.AddResource(new PHTTPDirectory("data", "data"));
  httpNameSpace.AddResource(new PServiceHTTPDirectory("html", "html"));

  manager  = CreateConferenceManager();
  endpoint = CreateEndPoint(*manager);

  return PHTTPServiceProcess::OnStart();
}

void OpenMCU::OnStop()
{
  delete endpoint;
  endpoint = NULL;

  delete manager;
  manager = NULL;

  PHTTPServiceProcess::OnStop();
}

void OpenMCU::OnControl()
{
  // This function get called when the Control menu item is selected in the
  // tray icon mode of the service.
  PStringStream url;
  url << "http://";

  PString host = PIPSocket::GetHostName();
  PIPSocket::Address addr;
  if (PIPSocket::GetHostAddress(host, addr))
    url << host;
  else
    url << "localhost";

  url << ':' << DefaultHTTPPort;

  PURL::OpenBrowser(url);
}

BOOL OpenMCU::Initialise(const char * initMsg)
{
  PConfig cfg("Parameters");

  // Set log level as early as possible
//  SetLogLevel((PSystemLog::Level)cfg.GetInteger(LogLevelKey, GetLogLevel()));
#if PTRACING

    SetLogLevel(PSystemLog::Debug6);
    PTrace::Initialise(6,"c:\\trace.txt");

/*  if (GetLogLevel() >= PSystemLog::Warning)
    PTrace::SetLevel(GetLogLevel()-PSystemLog::Warning);
  else
    PTrace::SetLevel(0);
  PTrace::ClearOptions(PTrace::Timestamp);
  PTrace::SetOptions(PTrace::DateAndTime); */
#endif

  // Get the HTTP basic authentication info
  PString adminUserName = cfg.GetString(UserNameKey);
  PString adminPassword = PHTTPPasswordField::Decrypt(cfg.GetString(PasswordKey));

  PHTTPSimpleAuth authority(GetName(), adminUserName, adminPassword);

  // Create the parameters URL page, and start adding fields to it
  PConfigPage * rsrc = new PConfigPage(*this, "Parameters", "Parameters", authority);

  // HTTP authentication username/password
  rsrc->Add(new PHTTPStringField(UserNameKey, 25, adminUserName));
  rsrc->Add(new PHTTPPasswordField(PasswordKey, 25, adminPassword));

  // Log level for messages
  rsrc->Add(new PHTTPIntegerField(LogLevelKey,
                                  PSystemLog::Fatal, PSystemLog::NumLogLevels-1,
                                  GetLogLevel(),
                                  "1=Fatal only, 2=Errors, 3=Warnings, 4=Info, 5=Debug"));

#if P_SSL
  // SSL certificate file.
  PString certificateFile = cfg.GetString(HTTPCertificateFileKey, "server.pem");
  rsrc->Add(new PHTTPStringField(HTTPCertificateFileKey, 25, certificateFile));
  if (!SetServerCertificate(certificateFile, TRUE)) {
    PSYSTEMLOG(Fatal, "MCU\tCould not load certificate \"" << certificateFile << '"');
    return FALSE;
  }
#endif

  // HTTP Port number to use.
  WORD httpPort = (WORD)cfg.GetInteger(HttpPortKey, DefaultHTTPPort);
  rsrc->Add(new PHTTPIntegerField(HttpPortKey, 1, 32767, httpPort));

  endpoint->Initialise(cfg, rsrc);

  // get default "room" (conference) name
  defaultRoomName = cfg.GetString(DefaultRoomKey, DefaultRoom);
  rsrc->Add(new PHTTPStringField(DefaultRoomKey, 25, defaultRoomName));

  // get conference time limit 
  roomTimeLimit = cfg.GetInteger(DefaultRoomTimeLimitKey, 0);
  rsrc->Add(new PHTTPIntegerField(DefaultRoomTimeLimitKey, 0, 10800, roomTimeLimit));

  OnCreateConfigPage(cfg, *rsrc);

  // default log file name
  logFilename = cfg.GetString(CallLogFilenameKey, DefaultCallLogFilename);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久久久免费看农村| 成人免费毛片高清视频| 久久精品亚洲乱码伦伦中文 | 久久久91精品国产一区二区精品 | 欧美天堂亚洲电影院在线播放| 精品午夜久久福利影院| 亚洲欧美中日韩| 精品欧美一区二区在线观看| 91最新地址在线播放| 久久99精品国产.久久久久久| 亚洲免费电影在线| 久久久精品日韩欧美| 欧美日韩另类一区| thepron国产精品| 经典一区二区三区| 亚州成人在线电影| 亚洲欧美日韩国产中文在线| 久久无码av三级| 91精品国产美女浴室洗澡无遮挡| 91丨九色丨尤物| 粉嫩一区二区三区性色av| 日本午夜精品视频在线观看| 亚洲精品免费在线播放| 日本一区二区三区dvd视频在线| 3751色影院一区二区三区| 色婷婷精品久久二区二区蜜臀av| 国产91露脸合集magnet| 精品午夜一区二区三区在线观看| 日韩成人午夜电影| 亚洲成av人影院| 亚洲六月丁香色婷婷综合久久| 国产农村妇女毛片精品久久麻豆 | 国产精品久久久久aaaa樱花 | 蜜臀精品久久久久久蜜臀| 亚洲成人在线观看视频| 亚洲美女屁股眼交| 亚洲视频1区2区| 日韩一区在线播放| 国产精品国产三级国产aⅴ原创| 久久久一区二区三区捆绑**| 精品美女在线播放| 精品福利二区三区| 欧美精品一区二| 精品国产污污免费网站入口 | 精品视频1区2区| 欧洲在线/亚洲| 欧美性猛交xxxx乱大交退制版| 91丨国产丨九色丨pron| 一本一本大道香蕉久在线精品| 91偷拍与自偷拍精品| 91免费看片在线观看| 色94色欧美sute亚洲线路一久| a4yy欧美一区二区三区| 91丝袜高跟美女视频| 色88888久久久久久影院野外| 色综合久久久久久久久| 日本精品一级二级| 欧美日韩精品三区| 欧美一区二区久久久| 26uuu欧美日本| 日本一区二区久久| 亚洲人成网站在线| 亚洲国产精品一区二区久久恐怖片| 亚洲第一电影网| 麻豆中文一区二区| 国产成人午夜电影网| 97成人超碰视| 欧美日韩成人在线| 精品福利视频一区二区三区| 亚洲国产成人在线| 夜夜嗨av一区二区三区网页 | 麻豆精品一二三| 国产精品一二三四| 一本大道av伊人久久综合| 欧美日本一区二区| 精品福利av导航| 亚洲欧美在线aaa| 午夜精品成人在线视频| 国产曰批免费观看久久久| 成人app网站| 欧美日韩高清影院| 久久久欧美精品sm网站 | 日韩av一二三| 国产91清纯白嫩初高中在线观看 | 精品欧美乱码久久久久久 | 国产女同性恋一区二区| 亚洲国产wwwccc36天堂| 激情五月激情综合网| 色婷婷综合久久久久中文| 精品美女一区二区| 亚洲欧美二区三区| 国模冰冰炮一区二区| 在线视频综合导航| 久久久久久久久99精品| 亚洲国产欧美在线| 成人黄色a**站在线观看| 欧美日韩成人在线| 亚洲欧洲色图综合| 狠狠色丁香久久婷婷综| 91高清在线观看| 久久精品在线观看| 亚洲成av人片在线观看| 成人av网站大全| 日韩精品资源二区在线| 亚洲综合一二区| 国产成人精品www牛牛影视| 欧美美女bb生活片| 中文字幕在线不卡| 国产剧情一区二区三区| 欧美狂野另类xxxxoooo| 综合电影一区二区三区 | 亚洲小少妇裸体bbw| 国产丶欧美丶日本不卡视频| 欧美久久免费观看| 亚洲视频免费在线| 成人小视频免费观看| 日韩女优电影在线观看| 亚洲第一电影网| 日本精品免费观看高清观看| 欧美激情一区三区| 国产一区二三区好的| 欧美一区二区成人| 午夜精品久久久久久久久久久| 91在线码无精品| 国产精品国产三级国产专播品爱网| 九九精品一区二区| 91精品国产福利在线观看| 亚洲成人一区二区| 91福利国产精品| 亚洲三级免费电影| aaa亚洲精品| 最新国产精品久久精品| 国产精品99久久久久久久女警 | 国产精品久久久久久久久免费桃花| 国产做a爰片久久毛片| 日韩欧美国产精品一区| 日本欧美肥老太交大片| 3d成人h动漫网站入口| 日韩成人一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲国产一区二区a毛片| 色婷婷综合激情| 亚洲一区视频在线| 欧美日韩亚洲综合一区二区三区| 亚洲一区二区欧美| 91激情五月电影| 亚洲电影在线免费观看| 欧美巨大另类极品videosbest| 天堂久久久久va久久久久| 欧美一区二区在线不卡| 日本特黄久久久高潮| 日韩视频不卡中文| 精品一区二区三区久久| 久久久高清一区二区三区| 国产成人av电影在线| 国产精品国产三级国产aⅴ原创| 91麻豆福利精品推荐| 一二三四社区欧美黄| 6080午夜不卡| 国产美女在线观看一区| 欧美激情一区二区三区| 色综合天天做天天爱| 亚洲地区一二三色| 欧美xxxxx裸体时装秀| 欧美一区二区啪啪| 蜜桃精品视频在线观看| 国产亚洲一区二区三区四区| 99久久久久免费精品国产| 亚洲综合精品自拍| 欧美一卡在线观看| 粉嫩嫩av羞羞动漫久久久| 亚洲欧美色一区| 91精品综合久久久久久| 国产精一区二区三区| 亚洲欧美二区三区| 欧美一级欧美三级在线观看| 国产高清久久久| 亚洲精品菠萝久久久久久久| 6080日韩午夜伦伦午夜伦| 国产精品99久久久久久久女警| 亚洲女爱视频在线| 日韩三级视频中文字幕| 成人小视频在线观看| 亚洲成a人v欧美综合天堂下载 | 精品国产精品网麻豆系列| 91免费版pro下载短视频| 日韩黄色免费网站| 国产婷婷色一区二区三区四区 | 91久久精品一区二区三区| 免费久久精品视频| 国产精品美女久久久久久久 | 亚洲一区视频在线| 久久久99久久| 欧美日本韩国一区| 国产91丝袜在线播放九色| 天天影视网天天综合色在线播放 | 欧美一区二区三区四区视频| 国产盗摄女厕一区二区三区 | 天天影视涩香欲综合网| 国产精品热久久久久夜色精品三区|