⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol.h

📁 wxWidgets 2.8.9 Downloads
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/protocol/protocol.h// Purpose:     Protocol base class// Author:      Guilhem Lavaux// Modified by:// Created:     10/07/1997// RCS-ID:      $Id: protocol.h 35650 2005-09-23 12:56:45Z MR $// Copyright:   (c) 1997, 1998 Guilhem Lavaux// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_PROTOCOL_PROTOCOL_H#define _WX_PROTOCOL_PROTOCOL_H#include "wx/defs.h"#if wxUSE_PROTOCOL#include "wx/object.h"#include "wx/string.h"#include "wx/stream.h"#if wxUSE_SOCKETS    #include "wx/socket.h"#endif// ----------------------------------------------------------------------------// constants// ----------------------------------------------------------------------------typedef enum{    wxPROTO_NOERR = 0,    wxPROTO_NETERR,    wxPROTO_PROTERR,    wxPROTO_CONNERR,    wxPROTO_INVVAL,    wxPROTO_NOHNDLR,    wxPROTO_NOFILE,    wxPROTO_ABRT,    wxPROTO_RCNCT,    wxPROTO_STREAMING} wxProtocolError;// ----------------------------------------------------------------------------// wxProtocol: abstract base class for all protocols// ----------------------------------------------------------------------------class WXDLLIMPEXP_NET wxProtocol#if wxUSE_SOCKETS : public wxSocketClient#else : public wxObject#endif{public:    wxProtocol();#if wxUSE_SOCKETS    bool Reconnect();    virtual bool Connect( const wxString& WXUNUSED(host) ) { return FALSE; }    virtual bool Connect( wxSockAddress& addr, bool WXUNUSED(wait) = TRUE) { return wxSocketClient::Connect(addr); }    // read a '\r\n' terminated line from the given socket and put it in    // result (without the terminators)    static wxProtocolError ReadLine(wxSocketBase *socket, wxString& result);    // read a line from this socket - this one can be overridden in the    // derived classes if different line termination convention is to be used    virtual wxProtocolError ReadLine(wxString& result);#endif // wxUSE_SOCKETS    virtual bool Abort() = 0;    virtual wxInputStream *GetInputStream(const wxString& path) = 0;    virtual wxProtocolError GetError() = 0;    virtual wxString GetContentType() { return wxEmptyString; }    virtual void SetUser(const wxString& WXUNUSED(user)) {}    virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {}private:    DECLARE_DYNAMIC_CLASS_NO_COPY(wxProtocol)};#if wxUSE_SOCKETSwxProtocolError WXDLLIMPEXP_NET GetLine(wxSocketBase *sock, wxString& result);#endif// ----------------------------------------------------------------------------// macros for protocol classes// ----------------------------------------------------------------------------#define DECLARE_PROTOCOL(class) \public: \  static wxProtoInfo g_proto_##class;#define IMPLEMENT_PROTOCOL(class, name, serv, host) \wxProtoInfo class::g_proto_##class(name, serv, host, CLASSINFO(class)); \bool wxProtocolUse##class = TRUE;#define USE_PROTOCOL(class) \    extern bool wxProtocolUse##class ; \    static struct wxProtocolUserFor##class \    { \        wxProtocolUserFor##class() { wxProtocolUse##class = TRUE; } \    } wxProtocolDoUse##class;class WXDLLIMPEXP_NET wxProtoInfo : public wxObject{public:    wxProtoInfo(const wxChar *name,                const wxChar *serv_name,                const bool need_host1,                wxClassInfo *info);protected:    wxProtoInfo *next;    wxString m_protoname;    wxString prefix;    wxString m_servname;    wxClassInfo *m_cinfo;    bool m_needhost;    friend class wxURL;    DECLARE_DYNAMIC_CLASS(wxProtoInfo)    DECLARE_NO_COPY_CLASS(wxProtoInfo)};#endif // wxUSE_PROTOCOL#endif // _WX_PROTOCOL_PROTOCOL_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -