warifroot.h

来自「ftpserver very good sample」· C头文件 代码 · 共 149 行

H
149
字号
/** System dependent interface layer        This is the root node, that is used to enumerate    actual servers.*/#ifndef WAR_IF_ROOT_H#define WAR_IF_ROOT_H/* SYSTEM INCLUDES */#ifndef WAR_LIST_INCLUDED#   define WAR_LIST_INCLUDED#   include <list>#endif/* PROJECT INCLUDES */#ifndef WAR_TYPES_h#   include "WarTypes.h"#endif#ifndef WAR_EXCEPTION_H#   include "WarException.h"#endif#ifndef WAR_PTR_WRAPPER_H#   include "WarPtrWrapper.h"#endif#ifndef WAR_SMART_POINTER_H#   include "WarSmartPointer.h"#endif/* LOCAL INCLUDES *//* FORWARD REFERENCES */class WarIfServer;typedef WarPtrWrapper<WarIfServer> war_if_server_ptr_t;#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********//****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarIfRoot : public WarSmartPointer {public:    typedef std::basic_string<war_sysch_t> namestr_t;    typedef std::list<namestr_t> strlist_t;    // LIFECYCLE        /**    * Default constructor.    *    * @Param vendorName A name of the vendor    *   for this implementation (like "jgaa".     *   The vendor-name is used    *   to determine where to look for configuration-    *   information. Under Win32, the vendor-name is    *   used as a key in the registry. Under other    *   systems, this may be the name of a directory.    * @param machineName The network machine that     *   runs the server. NULL means the local machine.    */    WarIfRoot();        // OPERATORS       // OPERATIONS    void Open(war_ccsysstr_t vendorName,         war_ccsysstr_t machineName = NULL)        throw(WarException);    war_if_server_ptr_t GetServer(war_ccsysstr_t svrName)         throw(WarException);    // CALLBACK    // ACCESS    // INQUIRY    /** Enumerate all serves on the machine.      *      * This interface enumerates all the installed      * servers that use this interface to      * expose themselfs.       *      * @param serverList List of names of      *     servers that can be accessed      *     trough the GetServer() method.      */    void EnumServers(strlist_t& serverList) const;    HKEY GetHkey() const;    const WarWin32Registry& GetRegKey() const    {        return mRegKey;    }    const namestr_t& GetMachineName() const    {        return mMachine;    }    const namestr_t& GetVendorName() const    {        return mVendor;    }    protected:    ~WarIfRoot();private:    namestr_t mVendor;    namestr_t mMachine;    WarWin32Registry mRegKey;    HKEY mhKey;};/* INLINE METHODS *//* EXTERNAL REFERENCES */typedef WarPtrWrapper<WarIfRoot> war_if_root_ptr_t;#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif  /* WAR_IF_ROOT_H_ */

⌨️ 快捷键说明

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