LeechCraft Azoth  0.6.70-16373-g319c272718
Modular multiprotocol IM plugin for LeechCraft
iregmanagedaccount.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 <QFlags>
12 #include <QMetaType>
13 
14 namespace LC
15 {
16 namespace Azoth
17 {
19  {
20  public:
21  virtual ~IRegManagedAccount () {}
22 
23  enum class Feature
24  {
25  UpdatePass,
27  };
28 
29  virtual bool SupportsFeature (Feature) const = 0;
30 
31  virtual void UpdateServerPassword (const QString& newPass) = 0;
32 
33  virtual void DeregisterAccount () = 0;
34  protected:
35  virtual void serverPasswordUpdated (const QString&) = 0;
36  };
37 }
38 }
39 
40 Q_DECLARE_INTERFACE (LC::Azoth::IRegManagedAccount,
41  "org.Deviant.LeechCraft.Azoth.IRegManagedAccount/1.0")
virtual void UpdateServerPassword(const QString &newPass)=0
virtual void serverPasswordUpdated(const QString &)=0
virtual bool SupportsFeature(Feature) const =0
virtual void DeregisterAccount()=0