LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
ihookproxy.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 #ifndef INTERFACES_CORE_IHOOKPROXY_H
10 #define INTERFACES_CORE_IHOOKPROXY_H
11 #include <memory>
12 #include <QMetaType>
13 
14 class QVariant;
15 class QByteArray;
16 
17 namespace LC
18 {
53  class Q_DECL_EXPORT IHookProxy
54  {
55  public:
56  virtual ~IHookProxy () {}
57 
62  virtual void CancelDefault () = 0;
63 
68  virtual const QVariant& GetReturnValue () const = 0;
69 
77  virtual void SetReturnValue (const QVariant& value) = 0;
78 
90  virtual QVariant GetValue (const QByteArray& name) const = 0;
91 
105  virtual void SetValue (const QByteArray& name, const QVariant& value) = 0;
106  };
107 
108  typedef std::shared_ptr<IHookProxy> IHookProxy_ptr;
109 }
110 
112 
113 #endif
LC::IHookProxy_ptr
std::shared_ptr< IHookProxy > IHookProxy_ptr
Definition: ihookproxy.h:108
LC::IHookProxy
Class for hook-based communication between plugins.
Definition: ihookproxy.h:53
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
LC
Definition: constants.h:14
LC::IHookProxy::~IHookProxy
virtual ~IHookProxy()
Definition: ihookproxy.h:56