Botan  1.10.9
Public Member Functions | List of all members
Botan::Noop_Mutex_Factory Class Reference

#include <mux_noop.h>

Inheritance diagram for Botan::Noop_Mutex_Factory:
Botan::Mutex_Factory

Public Member Functions

Mutexmake ()
 

Detailed Description

No-Op Mutex Factory

Definition at line 18 of file mux_noop.h.

Member Function Documentation

Mutex * Botan::Noop_Mutex_Factory::make ( )
virtual
Returns
newly allocated mutex

Implements Botan::Mutex_Factory.

Definition at line 15 of file mux_noop.cpp.

16  {
17  class Noop_Mutex : public Mutex
18  {
19  public:
20  class Mutex_State_Error : public Internal_Error
21  {
22  public:
23  Mutex_State_Error(const std::string& where) :
24  Internal_Error("Noop_Mutex::" + where + ": " +
25  "Mutex is already " + where + "ed") {}
26  };
27 
28  void lock()
29  {
30  if(locked)
31  throw Mutex_State_Error("lock");
32  locked = true;
33  }
34 
35  void unlock()
36  {
37  if(!locked)
38  throw Mutex_State_Error("unlock");
39  locked = false;
40  }
41 
42  Noop_Mutex() { locked = false; }
43  private:
44  bool locked;
45  };
46 
47  return new Noop_Mutex;
48  }

The documentation for this class was generated from the following files: