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

📄 libstate.h

📁 QT安全系统
💻 H
字号:
/*Copyright (C) 1999-2007 The Botan Project. All rights reserved.Redistribution and use in source and binary forms, for any use, with or withoutmodification, is permitted provided that the following conditions are met:1. Redistributions of source code must retain the above copyright notice, thislist of conditions, and the following disclaimer.2. Redistributions in binary form must reproduce the above copyright notice,this list of conditions, and the following disclaimer in the documentationand/or other materials provided with the distribution.THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "AS IS" AND ANY EXPRESS OR IMPLIEDWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE FOR ANY DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCEOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IFADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/// LICENSEHEADER_ENDnamespace QCA { // WRAPNS_LINE/************************************************** Library Internal/Global State Header File      ** (C) 1999-2007 The Botan Project                **************************************************/#ifndef BOTAN_LIB_STATE_H__#define BOTAN_LIB_STATE_H__#ifdef BOTAN_TOOLS_ONLY} // WRAPNS_LINE#include <botan/allocate.h>namespace QCA { // WRAPNS_LINE#else} // WRAPNS_LINE#include <botan/base.h>namespace QCA { // WRAPNS_LINE} // WRAPNS_LINE#include <botan/enums.h>namespace QCA { // WRAPNS_LINE} // WRAPNS_LINE#include <botan/ui.h>namespace QCA { // WRAPNS_LINE#endif} // WRAPNS_LINE#include <string>namespace QCA { // WRAPNS_LINE} // WRAPNS_LINE#include <vector>namespace QCA { // WRAPNS_LINE} // WRAPNS_LINE#include <map>namespace QCA { // WRAPNS_LINEnamespace Botan {/************************************************** Global State Container Base                    **************************************************/class Library_State   {   public:#ifndef BOTAN_TOOLS_ONLY      class Engine_Iterator         {         public:            class Engine* next();            Engine_Iterator(const Library_State& l) : lib(l) { n = 0; }         private:            const Library_State& lib;            u32bit n;         };      friend class Engine_Iterator;      class UI         {         public:            virtual void pulse(Pulse_Type) {}            virtual ~UI() {}         };#endif      int prealloc_size;      Allocator* get_allocator(const std::string& = "") const;      void add_allocator(Allocator*);#ifdef BOTAN_TOOLS_ONLY      void set_default_allocator(const std::string&);#else      void set_default_allocator(const std::string&) const;#endif#ifndef BOTAN_TOOLS_ONLY      bool rng_is_seeded() const { return rng->is_seeded(); }      void randomize(byte[], u32bit);      void set_prng(RandomNumberGenerator*);      void add_entropy_source(EntropySource*, bool = true);      void add_entropy(const byte[], u32bit);      void add_entropy(EntropySource&, bool);      u32bit seed_prng(bool, u32bit);#endif      void load(class Modules&);#ifndef BOTAN_TOOLS_ONLY      void set_timer(class Timer*);      u64bit system_clock() const;      class Config& config() const;      void add_engine(class Engine*);#endif      class Mutex* get_mutex() const;      class Mutex* get_named_mutex(const std::string&);#ifndef BOTAN_TOOLS_ONLY      void set_x509_state(class X509_GlobalState*);      class X509_GlobalState& x509_state();      void pulse(Pulse_Type) const;      void set_ui(UI*);      void set_transcoder(class Charset_Transcoder*);      std::string transcode(const std::string,                            Character_Set, Character_Set) const;#endif      Library_State(class Mutex_Factory*);      ~Library_State();   private:      Library_State(const Library_State&) {}      Library_State& operator=(const Library_State&) { return (*this); }#ifndef BOTAN_TOOLS_ONLY      class Engine* get_engine_n(u32bit) const;#endif      class Mutex_Factory* mutex_factory;#ifndef BOTAN_TOOLS_ONLY      class Timer* timer;      class Config* config_obj;      class X509_GlobalState* x509_state_obj;#endif      std::map<std::string, class Mutex*> locks;      std::map<std::string, Allocator*> alloc_factory;      mutable Allocator* cached_default_allocator;#ifdef BOTAN_TOOLS_ONLY      std::string default_allocator_type;#endif#ifndef BOTAN_TOOLS_ONLY      UI* ui;      class Charset_Transcoder* transcoder;      RandomNumberGenerator* rng;#endif      std::vector<Allocator*> allocators;#ifndef BOTAN_TOOLS_ONLY      std::vector<EntropySource*> entropy_sources;      std::vector<class Engine*> engines;#endif   };/************************************************** Global State                                   **************************************************/Library_State& global_state();void set_global_state(Library_State*);Library_State* swap_global_state(Library_State*);}#endif} // WRAPNS_LINE

⌨️ 快捷键说明

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