LeechCraft Azoth  0.6.70-18450-gabe19ee3b0
Modular multiprotocol IM plugin for LeechCraft
icanhavesslerrors.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <memory>
12 #include <QSslError>
13 #include <QtPlugin>
14 
15 template<typename>
16 class QList;
17 
18 namespace LC
19 {
20 namespace Azoth
21 {
23  {
24  protected:
25  virtual ~ICanHaveSslErrors () = default;
26  public:
28  {
29  protected:
30  virtual ~ISslErrorsReaction () = default;
31  public:
32  virtual void Ignore () = 0;
33  virtual void Abort () = 0;
34  };
35 
36  using ISslErrorsReaction_ptr = std::shared_ptr<ISslErrorsReaction>;
37 
38  virtual QObject* GetQObject () = 0;
39  protected:
40  virtual void sslErrors (const QList<QSslError>&, const ISslErrorsReaction_ptr&) = 0;
41  };
42 }
43 }
44 
45 Q_DECLARE_INTERFACE (LC::Azoth::ICanHaveSslErrors,
46  "org.LeechCraft.Azoth.ICanHaveSslErrors/1.0")
virtual ~ICanHaveSslErrors()=default
virtual void sslErrors(const QList< QSslError > &, const ISslErrorsReaction_ptr &)=0
virtual QObject * GetQObject()=0
std::shared_ptr< ISslErrorsReaction > ISslErrorsReaction_ptr