summaryrefslogtreecommitdiff
path: root/protocols/IcqOscarJ/icq_rates.h
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-10-12 14:53:57 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-10-12 14:53:57 +0000
commit3b55a62fdcb1f8222de3c2c8fbed530792c419a0 (patch)
tree5b2f628e847f61bb3e16f95ecaed6e187963362f /protocols/IcqOscarJ/icq_rates.h
parent1f9c986d82657f965462d289bf94aa012cf026fc (diff)
GTalkExt, ICQ, IRC, Jabber: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/IcqOscarJ/icq_rates.h')
-rw-r--r--protocols/IcqOscarJ/icq_rates.h146
1 files changed, 0 insertions, 146 deletions
diff --git a/protocols/IcqOscarJ/icq_rates.h b/protocols/IcqOscarJ/icq_rates.h
deleted file mode 100644
index ab16e74007..0000000000
--- a/protocols/IcqOscarJ/icq_rates.h
+++ /dev/null
@@ -1,146 +0,0 @@
-// ---------------------------------------------------------------------------80
-// ICQ plugin for Miranda Instant Messenger
-// ________________________________________
-//
-// Copyright © 2000-2001 Richard Hughes, Roland Rabien, Tristan Van de Vreede
-// Copyright © 2001-2002 Jon Keating, Richard Hughes
-// Copyright © 2002-2004 Martin Öberg, Sam Kothari, Robert Rainwater
-// Copyright © 2004-2010 Joe Kucera
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// -----------------------------------------------------------------------------
-// DESCRIPTION:
-//
-// Rate management
-//
-// -----------------------------------------------------------------------------
-#ifndef __ICQ_RATES_H
-#define __ICQ_RATES_H
-
-#define MAX_RATES_GROUP_COUNT 5
-
-struct rates_group
-{
- DWORD dwWindowSize;
- DWORD dwClearLevel;
- DWORD dwAlertLevel;
- DWORD dwLimitLevel;
- DWORD dwMaxLevel;
- // current level
- int rCurrentLevel;
- int tCurrentLevel;
- // links
- WORD *pPairs;
- int nPairs;
-};
-
-struct rates : public MZeroedObject
-{
-private:
- CIcqProto *ppro;
- int nGroups;
- rates_group groups[MAX_RATES_GROUP_COUNT];
-
- rates_group *getGroup(WORD wGroup);
-public:
- rates(CIcqProto *ppro, BYTE *pBuffer, WORD wLen);
- ~rates();
-
- WORD getGroupFromSNAC(WORD wFamily, WORD wCommand);
- WORD getGroupFromPacket(icq_packet *pPacket);
-
- int getLimitLevel(WORD wGroup, int nLevel);
- int getDelayToLimitLevel(WORD wGroup, int nLevel);
- int getNextRateLevel(WORD wGroup);
-
- void packetSent(icq_packet *pPacket);
- void updateLevel(WORD wGroup, int nLevel);
-
- void initAckPacket(icq_packet *pPacket);
-};
-
-#define RML_CLEAR 0x01
-#define RML_ALERT 0x02
-#define RML_LIMIT 0x03
-#define RML_IDLE_10 0x10
-#define RML_IDLE_30 0x11
-#define RML_IDLE_50 0x12
-#define RML_IDLE_70 0x13
-
-// Rates - Level 2
-
-// queue types
-#define RQT_DEFAULT 0 // standard - pushes all items without much delay
-#define RQT_REQUEST 1 // request - pushes only first item on duplicity
-#define RQT_RESPONSE 2 // response - pushes only last item on duplicity
-
-//
-// generic queue item
-//
-struct rates_queue_item : public MZeroedObject
-{
- friend struct rates_queue;
-protected:
- CIcqProto *ppro;
- BOOL bCreated;
- WORD wGroup;
-
- virtual BOOL isEqual(rates_queue_item *pItem);
- virtual rates_queue_item* copyItem(rates_queue_item *pDest = NULL);
-public:
- rates_queue_item(CIcqProto *ppro, WORD wGroup);
- virtual ~rates_queue_item();
-
- BOOL isOverRate(int nLevel);
-
- virtual void execute();
-
- HANDLE hContact;
- DWORD dwUin;
- char *szUid;
-};
-
-struct rates_queue;
-typedef void (rates_queue::*IcqRateFunc)(void);
-
-//
-// generic item queue (FIFO)
-//
-struct rates_queue : public MZeroedObject
-{
-private:
- CIcqProto *ppro;
- const char *szDescr;
- icq_critical_section *listsMutex; // we need to be thread safe
- int pendingListSize;
- rates_queue_item **pendingList;
- int duplicates;
-protected:
- void cleanup();
- void processQueue();
- void initDelay(int nDelay, IcqRateFunc delaycode);
-public:
- rates_queue(CIcqProto *ppro, const char *szDescr, int nLimitLevel, int nWaitLevel, int nDuplicates = 0);
- ~rates_queue();
-
- void putItem(rates_queue_item *pItem, int nMinDelay);
-
- int limitLevel; // RML_*
- int waitLevel;
-};
-
-
-#endif /* __ICQ_RATES_H */