File indexing completed on 2024-04-21 15:43:00
0001 /* 0002 * This file is part of TelepathyLoggerQt 0003 * 0004 * Copyright (C) 2011 Collabora Ltd. <http://www.collabora.co.uk/> 0005 * 0006 * This library is free software; you can redistribute it and/or modify 0007 * it under the terms of the GNU Lesser General Public License as published 0008 * by the Free Software Foundation; either version 2.1 of the License, or 0009 * (at your option) any later version. 0010 * 0011 * This program is distributed in the hope that it will be useful, 0012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0014 * GNU General Public License for more details. 0015 * 0016 * You should have received a copy of the GNU Lesser General Public License 0017 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0018 */ 0019 #ifndef _TelepathyLoggerQt_types_h_HEADER_GUARD_ 0020 #define _TelepathyLoggerQt_types_h_HEADER_GUARD_ 0021 0022 #include <TelepathyQt/Types> 0023 #include <QtCore/QList> 0024 #include <QtCore/QDate> 0025 0026 namespace Tpl 0027 { 0028 0029 enum EntityType 0030 { 0031 //codegen: EntityTypeUnknown=ENTITY_UNKNOWN,EntityTypeContact=ENTITY_CONTACT,EntityTypeRoom=ENTITY_ROOM,EntityTypeSelf=ENTITY_SELF 0032 EntityTypeUnknown, /**< the current contact's type is unknown **/ 0033 EntityTypeContact, /**< the the contact's type represents a user (buddy), but not 0034 the account's owner for which EntityTypeSelf is used **/ 0035 EntityTypeRoom, /**< a named room **/ 0036 EntityTypeSelf /**< the contact's type represents the owner of the account 0037 whose channel has been logged, as opposed to 0038 EntityTypeContact which represents any other user */ 0039 }; 0040 0041 enum LogManagerError 0042 { 0043 LogManagerErrorAddEvent /** Error returned when adding logs fails **/ 0044 }; 0045 0046 /** 0047 * \brief Mask used to filter type of Tpl::Event returned. 0048 */ 0049 enum EventTypeMask 0050 { 0051 //codegen: EventTypeMaskText=EVENT_MASK_TEXT,EventTypeMaskCall=EVENT_MASK_CALL,EventTypeMaskAny=EVENT_MASK_ANY 0052 EventTypeMaskText = 1 << 0, /**< Mask to Tpl::TextEvent **/ 0053 EventTypeMaskCall = 1 << 1, /**< Mask to Tpl::CallEvent **/ 0054 EventTypeMaskAny = 0xffff /**< Special value to select all type of Tpl::Event **/ 0055 }; 0056 0057 class CallEvent; 0058 class Entity; 0059 class Event; 0060 class LogManager; 0061 class LogWalker; 0062 class TextEvent; 0063 0064 class Logger; 0065 class LogWalker; 0066 class PendingDates; 0067 class PendingEvents; 0068 class PendingEntities; 0069 class PendingOperation; 0070 class PendingSearch; 0071 struct SearchHit; 0072 0073 typedef QSharedPointer<CallEvent> CallEventPtr; 0074 typedef QSharedPointer<Entity> EntityPtr; 0075 typedef QSharedPointer<Event> EventPtr; 0076 typedef LogManager* LogManagerPtr; 0077 typedef QSharedPointer<LogWalker> LogWalkerPtr; 0078 typedef QSharedPointer<TextEvent> TextEventPtr; 0079 0080 typedef QSharedPointer<Logger> LoggerPtr; 0081 typedef QList<Tp::ContactPtr> ContactPtrList; 0082 typedef QList<EntityPtr> EntityPtrList; 0083 typedef QList<EventPtr> EventPtrList; 0084 typedef QList<QDate> QDateList; 0085 typedef QList<SearchHit> SearchHitList; 0086 0087 typedef bool (*LogEventFilter)(const EventPtr &event, void *user_data); 0088 0089 } //namespace 0090 0091 struct _TplCallEvent; 0092 struct _TplEntity; 0093 struct _TplEvent; 0094 struct _TplLogManager; 0095 struct _TplLogWalker; 0096 struct _TplTextEvent; 0097 0098 0099 #include "global.h" 0100 0101 #endif