LeechCraft Azoth  0.6.70-15082-g543737046d
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 {
18  class IRegManagedAccount
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")
LC::Azoth::IRegManagedAccount::serverPasswordUpdated
virtual void serverPasswordUpdated(const QString &)=0
LC::Azoth::IRegManagedAccount::SupportsFeature
virtual bool SupportsFeature(Feature) const =0
LC::Azoth::IRegManagedAccount::UpdateServerPassword
virtual void UpdateServerPassword(const QString &newPass)=0
LC::Azoth::IRegManagedAccount::Feature
Feature
Definition: iregmanagedaccount.h:41
LC::Azoth::IRegManagedAccount::DeregisterAccount
virtual void DeregisterAccount()=0
LC
Definition: activityinfo.h:13
LC::Azoth::IRegManagedAccount::Feature::UpdatePass
@ UpdatePass
LC::Azoth::IRegManagedAccount
Definition: iregmanagedaccount.h:30
LC::Azoth::IRegManagedAccount::Feature::DeregisterAcc
@ DeregisterAcc
LC::Azoth::IRegManagedAccount::~IRegManagedAccount
virtual ~IRegManagedAccount()
Definition: iregmanagedaccount.h:39