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

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

?? mime.h

?? mgcp協議源代碼。支持多種編碼:g711
?? H
字號:
/* * mime.h * * Multipurpose Internet Mail Extensions support classes. * * Portable Windows Library * * Copyright (c) 1993-1998 Equivalence Pty. Ltd. * * 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 are Copyright (C) 1993 Free Software Foundation, Inc. * All Rights Reserved. * * Contributor(s): ______________________________________. * * $Log: mime.h,v $ * Revision 1.13  1999/03/09 08:01:46  robertj * Changed comments for doc++ support (more to come). * * Revision 1.12  1999/02/16 08:07:10  robertj * MSVC 6.0 compatibility changes. * * Revision 1.11  1998/11/30 02:50:52  robertj * New directory structure * * Revision 1.10  1998/09/23 06:19:42  robertj * Added open source copyright license. * * Revision 1.9  1997/02/05 11:53:11  robertj * Changed construction of MIME dictionary to be delayed untill it is used. * * Revision 1.8  1996/09/14 13:09:15  robertj * Major upgrade: *   rearranged sockets to help support IPX. *   added indirect channel class and moved all protocols to descend from it, *   separating the protocol from the low level byte transport. * * Revision 1.7  1996/07/15 10:28:31  robertj * Changed memory block base64 conversion functions to be void *. * * Revision 1.6  1996/03/16 04:38:09  robertj * Fixed bug in MIME write function, should be const. * * Revision 1.5  1996/02/25 03:04:32  robertj * Added decoding of Base64 to a block of memory instead of PBYTEArray. * * Revision 1.4  1996/01/28 14:14:30  robertj * Further implementation of secure config. * * Revision 1.3  1996/01/28 02:46:07  robertj * Removal of MemoryPointer classes as usage didn't work for GNU. * * Revision 1.2  1996/01/26 02:24:27  robertj * Further implemetation. * * Revision 1.1  1996/01/23 13:06:18  robertj * Initial revision * */#ifndef _PMIME#define _PMIME#ifdef __GNUC__#pragma interface#endif#include <ptclib/inetprot.h>//////////////////////////////////////////////////////////////////////////////// PMIMEInfo/** This class contains the Multipurpose Internet Mail Extensions parameters   and variables. */
#ifdef DOC_PLUS_PLUS
class PMIMEInfo : public PStringToString {
#endifPDECLARE_STRING_DICTIONARY(PMIMEInfo, PCaselessString);  public:    PMIMEInfo(      istream &strm   // Stream to read the objects contents from.    );    PMIMEInfo(      PInternetProtocol & socket   // Application socket to read MIME info.    );    // Construct a MIME infromation dictionary from the specified source.  // Overrides from class PObject    /** Output the contents of the MIME dictionary to the stream. This is       primarily used by the standard ##operator<<## function.     */    virtual void PrintOn(      ostream &strm   // Stream to print the object into.    ) const;    /** Input the contents of the MIME dictionary from the stream. This is       primarily used by the standard ##operator>>## function.     */    virtual void ReadFrom(      istream &strm   // Stream to read the objects contents from.    );  // New functions for class.    /** Read MIME information from the socket.       @return       TRUE if the MIME information was successfully read.     */    BOOL Read(      PInternetProtocol & socket   // Application socket to read MIME info.    );    /** Write MIME information to the socket.       @return       TRUE if the MIME information was successfully read.     */    BOOL Write(      PInternetProtocol & socket   // Application socket to write MIME info.    ) const;    /** Determine if the specified key is present in the MIME information       set.       @return       TRUE if the MIME variable is present.     */    BOOL HasKey(      const PString & key       // Key into MIME dictionary to get info.    ) const { return GetAt(PCaselessString(key)) != NULL; }    /** Get a string for the particular MIME info field with checking for       existance. The #dflt# parameter is substituted if the field       does not exist in the MIME information read in.       @return       String for the value of the MIME variable.     */    PString GetString(      const PString & key,       // Key into MIME dictionary to get info.      const PString & dflt       // Default value of field if not in MIME info.    ) const;    /** Get an integer value for the particular MIME info field with checking       for existance. The #dflt# parameter is substituted if the       field does not exist in the MIME information read in.       @return       Integer value for the MIME variable.     */    long GetInteger(      const PString & key,    // Key into MIME dictionary to get info.      long dflt               // Default value of field if not in MIME info.    ) const;    /** Set an association between a file type and a MIME content type. The       content type is then sent for any file in the directory sub-tree that       has the same extension.       Note that if the #merge# parameter if TRUE then the       dictionary is merged into the current association list and is not a       simple replacement.       The default values placed in this dictionary are:\begin{verbatim}
          ".txt", "text/plain"          ".text", "text/plain"          ".html", "text/html"          ".htm", "text/html"          ".aif", "audio/aiff"          ".aiff", "audio/aiff"          ".au", "audio/basic"          ".snd", "audio/basic"          ".wav", "audio/wav"          ".gif", "image/gif"          ".xbm", "image/x-bitmap"          ".tif", "image/tiff"          ".tiff", "image/tiff"          ".jpg", "image/jpeg"          ".jpe", "image/jpeg"          ".jpeg", "image/jpeg"          ".avi", "video/avi"          ".mpg", "video/mpeg"          ".mpeg", "video/mpeg"          ".qt", "video/quicktime"          ".mov", "video/quicktime"\end{verbatim}
       The default content type will be "application/octet-stream".     */    static void SetAssociation(      const PStringToString & allTypes,  // MIME content type associations.      BOOL merge = TRUE                  // Flag for merging associations.    );    static void SetAssociation(      const PString & fileType,         // File type (extension) to match.      const PString & contentType       // MIME content type string.    ) { GetContentTypes().SetAt(fileType, contentType); }    /** Look up the file type to MIME content type association dictionary and       return the MIME content type string. If the file type is not found in       the dictionary then the string "application/octet-stream" is returned.       @return       MIME content type for file type.     */    static PString GetContentType(      const PString & fileType   // File type (extension) to look up.    );  private:    static PStringToString & GetContentTypes();};/** This class is used to encode/decode data using the MIME standard base64   encoding mechanism as defined in RFC1521.   To encode a large block of data use the following seqeunce:\begin{verbatim}      PBase64 base;      base.StartEncoding();      while (Read(dataChunk)) {        base.ProcessEncoding(dataChunk);        out << base.GetEncodedString();      }      out << base.CompleteEncoding();\end{verbatim}
    if smaller blocks that fit easily in memory are to be encoded the    #Encode()# functions can be used to everything in one go.    To decode a large block of data use the following sequence:\begin{verbatim}
      PBase64 base;      base.StartDecoding();      while (Read(str) && ProcessDecoding(str))        Write(base.GetDecodedData());      Write(base.GetDecodedData());\end{verbatim}
    if smaller blocks that fit easily in memory are to be decoded the    #Decode()# functions can be used to everything in one go. */class PBase64 : public PObject{  PCLASSINFO(PBase64, PObject);  public:    /** Construct a base 64 encoder/decoder and initialise both encode and       decode members as in #StartEncoding()# and #StartDecoding()#.     */    PBase64();    void StartEncoding(      BOOL useCRLFs = TRUE  // Use CR, LF pairs in end of line characters.    );    // Begin a base 64 encoding operation, initialising the object instance.    void ProcessEncoding(      const PString & str      // String to be encoded    );    void ProcessEncoding(      const char * cstr        // C String to be encoded    );    void ProcessEncoding(      const PBYTEArray & data  // Data block to be encoded    );    void ProcessEncoding(      const void * dataBlock,  // Pointer to data to be encoded      PINDEX length            // Length of the data block.    );    // Incorporate the specified data into the base 64 encoding.    /** Get the partial Base64 string for the data encoded so far.           @return       Base64 encoded string for the processed data.     */    PString GetEncodedString();    /** Complete the base 64 encoding and return the remainder of the encoded       Base64 string. Previous data may have been already removed by the       #GetInterim()# function.           @return       Base64 encoded string for the processed data.     */    PString CompleteEncoding();    static PString Encode(      const PString & str     // String to be encoded to Base64    );    static PString Encode(      const char * cstr       // C String to be encoded to Base64    );    static PString Encode(      const PBYTEArray & data // Data block to be encoded to Base64    );    static PString Encode(      const void * dataBlock, // Pointer to data to be encoded to Base64      PINDEX length           // Length of the data block.    );    // Encode the data in memory to Base 64 data returnin the string.    void StartDecoding();    // Begin a base 64 decoding operation, initialising the object instance.    /** Incorporate the specified data into the base 64 decoding.           @return       TRUE if block was last in the Base64 encoded string.     */    BOOL ProcessDecoding(      const PString & str      // String to be encoded    );    BOOL ProcessDecoding(      const char * cstr        // C String to be encoded    );    /** Get the data decoded so far from the Base64 strings processed.           @return       Decoded data for the processed Base64 string.     */    BOOL GetDecodedData(      void * dataBlock,    // Pointer to data to be decoded from base64      PINDEX length        // Length of the data block.    );    PBYTEArray GetDecodedData();    /** Return a flag to indicate that the input was decoded without any       extraneous or illegal characters in it that were ignored. This does not       mean that the data is not valid, only that it is suspect.           @return       Decoded data for the processed Base64 string.     */    BOOL IsDecodeOK() { return perfectDecode; }    /** Convert a printable text string to binary data using the Internet MIME       standard base 64 content transfer encoding.       The base64 string is checked and TRUE returned if all perfectly correct.       If FALSE is returned then the string had extraneous or illegal       characters in it that were ignored. This does not mean that the data is       not valid, only that it is suspect.           @return       Base 64 string decoded from input string.     */    static PString Decode(      const PString & str // Encoded base64 string to be decoded.    );    static BOOL Decode(      const PString & str, // Encoded base64 string to be decoded.      PBYTEArray & data    // Converted binary data from base64.    );    static BOOL Decode(      const PString & str, // Encoded base64 string to be decoded.      void * dataBlock,    // Pointer to data to be decoded from base64      PINDEX length        // Length of the data block.    );  private:    void OutputBase64(const BYTE * data);    PString encodedString;    PINDEX  encodeLength;    BYTE    saveTriple[3];    PINDEX  saveCount;    PINDEX  nextLine;    BOOL    useCRLFs;    BOOL       perfectDecode;    PINDEX     quadPosition;    PBYTEArray decodedData;    PINDEX     decodeSize;};#endif// End Of File ///////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jizzjizzjizz欧美| 亚洲精品日韩专区silk| 欧美激情中文字幕一区二区| 亚洲日本欧美天堂| 久久国产视频网| 色老汉一区二区三区| 国产婷婷一区二区| 三级在线观看一区二区| k8久久久一区二区三区 | 日韩av电影天堂| 成人精品鲁一区一区二区| 日韩视频在线永久播放| 一区二区三区在线免费视频| 国产高清亚洲一区| 精品久久五月天| 日韩极品在线观看| 欧美三级中文字| 亚洲最色的网站| 91丨porny丨最新| 国产欧美精品一区aⅴ影院| 九色|91porny| 精品国产伦一区二区三区观看体验| 亚洲一二三四在线观看| 色琪琪一区二区三区亚洲区| 中文字幕日韩精品一区| 丁香婷婷综合激情五月色| 日韩欧美亚洲另类制服综合在线| 亚洲综合清纯丝袜自拍| 91福利精品视频| 一区二区三区视频在线观看| 91亚洲精品久久久蜜桃网站| 亚洲免费成人av| 91女人视频在线观看| 亚洲天堂免费看| 色哟哟欧美精品| 亚洲成人一区二区| 6080午夜不卡| 奇米一区二区三区av| 欧美精选午夜久久久乱码6080| 亚洲丰满少妇videoshd| 欧美精品国产精品| 久久精品国产亚洲高清剧情介绍 | a4yy欧美一区二区三区| 欧美国产精品一区| av影院午夜一区| 亚洲视频资源在线| 欧美不卡一区二区三区| 日本一不卡视频| 精品国产一区二区精华| 国产精品一二三四区| 国产精品久久久久一区二区三区 | 日本一道高清亚洲日美韩| 欧美大胆人体bbbb| 国产白丝精品91爽爽久久| 国产精品高潮呻吟久久| 在线视频亚洲一区| 免费日本视频一区| 26uuu精品一区二区| 成人免费三级在线| 亚洲一区二区综合| 欧美电视剧在线看免费| av一区二区三区四区| 日韩国产欧美视频| 国产精品美女久久久久aⅴ| 在线视频你懂得一区| 国内精品国产成人| 亚洲欧美电影院| 欧美一区中文字幕| av日韩在线网站| 热久久免费视频| 国产精品久久99| 日韩限制级电影在线观看| 成人97人人超碰人人99| 日本91福利区| 亚洲婷婷国产精品电影人久久| 日韩欧美一级在线播放| 91在线视频官网| 国产一二精品视频| 日韩国产欧美在线观看| 亚洲欧美日韩在线播放| 久久综合色婷婷| 精品视频一区二区不卡| av一二三不卡影片| 国产在线播精品第三| 天堂久久一区二区三区| 亚洲免费在线视频一区 二区| 精品嫩草影院久久| 欧美精品在线视频| 色av成人天堂桃色av| 高清国产午夜精品久久久久久| 亚洲国产sm捆绑调教视频 | 亚洲在线视频一区| 欧美韩日一区二区三区四区| 日韩欧美123| 欧美乱妇15p| 色激情天天射综合网| eeuss影院一区二区三区| 国产综合色视频| 青青青伊人色综合久久| 午夜精品福利一区二区三区蜜桃| 亚洲天堂av老司机| 中文字幕国产一区二区| 久久精品夜夜夜夜久久| 精品国产百合女同互慰| 欧美一级午夜免费电影| 欧美一区二区三区在线观看| 在线电影一区二区三区| 欧美无砖专区一中文字| 在线观看不卡视频| 欧美吻胸吃奶大尺度电影| 在线观看亚洲a| 欧美性生交片4| 在线一区二区观看| 欧美在线不卡一区| 欧美系列日韩一区| 欧美久久久久久久久中文字幕| 欧美三级日韩三级| 欧美精品18+| 欧美v亚洲v综合ⅴ国产v| 精品日韩在线观看| 久久久www免费人成精品| 精品成人一区二区三区四区| 久久综合给合久久狠狠狠97色69| 久久免费午夜影院| 欧美国产1区2区| 亚洲免费观看高清在线观看| 亚洲线精品一区二区三区| 午夜国产精品一区| 久久er精品视频| 国产激情一区二区三区| 成人动漫在线一区| 色成年激情久久综合| 91精品国产品国语在线不卡| 精品国产乱码久久久久久牛牛 | 日韩精品综合一本久道在线视频| 欧美草草影院在线视频| 国产精品午夜在线观看| 亚洲与欧洲av电影| 久久66热偷产精品| 成人精品亚洲人成在线| 欧美日韩国产综合一区二区三区| 欧美电视剧免费全集观看| 国产欧美一区二区精品性色超碰| 成人欧美一区二区三区黑人麻豆| 亚洲午夜一区二区| 激情成人综合网| 色综合天天性综合| 日韩写真欧美这视频| 国产精品久久网站| 午夜亚洲福利老司机| 国产成人免费9x9x人网站视频| 99精品视频免费在线观看| 欧美人妖巨大在线| 中文字幕免费不卡在线| 天堂成人国产精品一区| 成人精品在线视频观看| 欧美一区二区视频网站| 日韩毛片视频在线看| 麻豆精品国产传媒mv男同| 99国产欧美另类久久久精品| 日韩免费在线观看| 亚洲激情图片小说视频| 国产九色精品成人porny| 91精品91久久久中77777| 久久久精品国产免大香伊| 亚洲国产综合91精品麻豆| 成人性生交大片免费看中文| 欧美一级日韩免费不卡| 亚洲精品视频一区| 成人美女视频在线观看18| 日韩欧美的一区二区| 亚洲综合色婷婷| 91同城在线观看| 国产亚洲1区2区3区| 日韩在线观看一区二区| 日本高清不卡在线观看| 亚洲国产精品精华液2区45| 久久国产欧美日韩精品| 欧美精品久久一区| 亚洲欧美偷拍卡通变态| av在线不卡网| 国产精品进线69影院| 国产成人精品aa毛片| 精品国产制服丝袜高跟| 美日韩一级片在线观看| 欧美日韩免费观看一区二区三区 | 日本美女一区二区| 在线观看免费一区| 一区二区三区四区不卡视频| www.99精品| 专区另类欧美日韩| 91视频免费播放| 国产精品的网站| av一二三不卡影片| 中文字幕在线不卡| 99re热这里只有精品视频| 亚洲欧美中日韩| 91在线视频观看| 洋洋成人永久网站入口| 在线亚洲欧美专区二区|