00001
00023 #ifndef _TelepathyQt4_filter_h_HEADER_GUARD_
00024 #define _TelepathyQt4_filter_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/SharedPtr>
00031 #include <TelepathyQt4/Types>
00032
00033 namespace Tp
00034 {
00035
00036 template <class T>
00037 class Filter : public RefCounted
00038 {
00039 Q_DISABLE_COPY(Filter)
00040
00041 public:
00042 virtual ~Filter() {}
00043
00044 virtual bool isValid() const { return false; }
00045
00046 virtual bool matches(const SharedPtr<T> &t) const
00047 {
00048 Q_UNUSED(t);
00049
00050 return false;
00051 }
00052
00053 protected:
00054 Filter() {}
00055
00056 private:
00057 struct Private;
00058 Private *mPriv;
00059 };
00060
00061 }
00062
00063 #endif