LeechCraft Azoth
0.6.70-13907-g785196c688
Modular multiprotocol IM plugin for LeechCraft
azothcommon.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
* Boost Software License - Version 1.0 - August 17th, 2003
6
*
7
* Permission is hereby granted, free of charge, to any person or organization
8
* obtaining a copy of the software and accompanying documentation covered by
9
* this license (the "Software") to use, reproduce, display, distribute,
10
* execute, and transmit the Software, and to prepare derivative works of the
11
* Software, and to permit third-parties to whom the Software is furnished to
12
* do so, all subject to the following:
13
*
14
* The copyright notices in the Software and this entire statement, including
15
* the above license grant, this restriction and the following disclaimer,
16
* must be included in all copies of the Software, in whole or in part, and
17
* all derivative works of the Software, unless such copies or derivative
18
* works are solely in the form of machine-executable object code generated by
19
* a source language processor.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
**********************************************************************/
29
30
#pragma once
31
32
#include <QMetaType>
33
#include <interfaces/iactionsexporter.h>
34
#include <
interfaces/azoth/imessage.h
>
35
36
namespace
LC
37
{
38
namespace
Azoth
39
{
43
enum
State
44
{
45
SOffline
,
46
SOnline
,
47
SAway
,
48
SXA
,
49
SDND
,
50
SChat
,
51
SInvisible
,
52
SProbe
,
53
SError
,
54
SInvalid
,
55
60
SConnecting
61
};
62
79
inline
bool
IsLess
(
State
s1,
State
s2)
80
{
81
constexpr
int
order [] = { 7, 3, 4, 5, 6, 1, 2, 8, 9, 10 };
82
return
order [s1] < order [s2];
83
}
84
90
enum
AuthStatus
91
{
95
ASNone
= 0x00,
96
99
ASFrom
= 0x01,
100
103
ASTo
= 0x02,
104
107
ASBoth
= 0x03,
108
111
ASContactRequested
= 0x08
112
};
113
118
enum
ChatPartState
119
{
122
CPSNone
,
123
126
CPSActive
,
127
131
CPSInactive
,
132
136
CPSGone
,
137
140
CPSComposing
,
141
144
CPSPaused
145
};
146
149
struct
CustomStatus
150
{
153
QString
Name_
;
154
157
State
State_
;
158
161
QString
Text_
;
162
};
163
}
164
}
165
166
Q_DECLARE_METATYPE (
LC::Azoth::State
)
167
Q_DECLARE_METATYPE (
LC::Azoth::ChatPartState
)
LC::Azoth::ASNone
@ ASNone
Definition:
azothcommon.h:149
LC::Azoth::ASFrom
@ ASFrom
Definition:
azothcommon.h:153
LC::Azoth::SOffline
@ SOffline
Definition:
azothcommon.h:126
LC::Azoth::ASContactRequested
@ ASContactRequested
Definition:
azothcommon.h:165
LC::Azoth::SDND
@ SDND
Definition:
azothcommon.h:130
LC::Azoth::ASBoth
@ ASBoth
Definition:
azothcommon.h:161
LC::Azoth::CustomStatus
A custom saved named status.
Definition:
azothcommon.h:204
LC::Azoth::CPSGone
@ CPSGone
Definition:
azothcommon.h:190
LC::Azoth::CustomStatus::Text_
QString Text_
The status text associated with this status.
Definition:
azothcommon.h:215
LC::Azoth::SOnline
@ SOnline
Definition:
azothcommon.h:127
LC::Azoth::CPSInactive
@ CPSInactive
Definition:
azothcommon.h:185
LC::Azoth::CPSNone
@ CPSNone
Definition:
azothcommon.h:176
LC::Azoth::ChatPartState
ChatPartState
Definition:
azothcommon.h:173
LC::Azoth::SInvisible
@ SInvisible
Definition:
azothcommon.h:132
LC::Azoth::SInvalid
@ SInvalid
Definition:
azothcommon.h:135
LC::Azoth::SAway
@ SAway
Definition:
azothcommon.h:128
LC::Azoth::IsLess
bool IsLess(State s1, State s2)
Compares two states according to the implied desire to have a conversation.
Definition:
azothcommon.h:133
LC::Azoth::SChat
@ SChat
Definition:
azothcommon.h:131
LC::Azoth::SProbe
@ SProbe
Definition:
azothcommon.h:133
LC::Azoth::AuthStatus
AuthStatus
Definition:
azothcommon.h:145
LC
Definition:
activityinfo.h:35
LC::Azoth::SXA
@ SXA
Definition:
azothcommon.h:129
LC::Azoth::State
State
Describes possible presence states of an account or a contact.
Definition:
azothcommon.h:98
LC::Azoth::CPSPaused
@ CPSPaused
Definition:
azothcommon.h:198
LC::Azoth::ASTo
@ ASTo
Definition:
azothcommon.h:157
LC::Azoth::SConnecting
@ SConnecting
Definition:
azothcommon.h:141
LC::Azoth::CPSActive
@ CPSActive
Definition:
azothcommon.h:180
imessage.h
LC::Azoth::CustomStatus::State_
State State_
The state associated with this status.
Definition:
azothcommon.h:211
LC::Azoth::CustomStatus::Name_
QString Name_
The name of this status.
Definition:
azothcommon.h:207
LC::Azoth::SError
@ SError
Definition:
azothcommon.h:134
LC::Azoth::CPSComposing
@ CPSComposing
Definition:
azothcommon.h:194
src
plugins
azoth
interfaces
azoth
azothcommon.h
Generated by
1.8.18