summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/Chess4Net/MI
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/Chess4Net/MI')
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.cfg45
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dof170
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dpr82
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/ConnectorUnit.pas841
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/ControlUnit.pas177
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/GlobalsLocalUnit.pas36
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/ManagerUnit.MI.pas845
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_addcontact.inc54
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_api.pas75
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_awaymsg.inc40
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clc.inc284
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clist.inc641
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clui.inc215
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_contacts.inc84
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_database.inc653
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_email.inc39
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_file.inc66
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_findadd.inc38
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_globaldefs.pas98
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_helpers.inc622
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_history.inc37
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_icq.inc191
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_ignore.inc74
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_langpack.inc82
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_message.inc57
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_netlib.inc711
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_options.inc91
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_plugins.inc70
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_popup.inc222
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protocols.inc180
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protomod.inc105
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protosvc.inc753
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_skin.inc120
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_system.inc170
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_url.inc39
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_userinfo.inc84
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_utils.inc279
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.h283
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.inc209
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/readme.txt1
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/MirandaINC/statusmodes.inc54
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/PluginCommonUnit.pas63
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.dfm47
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.pas83
-rw-r--r--plugins/!NotAdopted/Chess4Net/MI/make.bat36
45 files changed, 0 insertions, 9146 deletions
diff --git a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.cfg b/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.cfg
deleted file mode 100644
index 6d8fdcc3db..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.cfg
+++ /dev/null
@@ -1,45 +0,0 @@
--$A8
--$B-
--$C-
--$D-
--$E-
--$F-
--$G+
--$H+
--$I-
--$J+
--$K-
--$L-
--$M-
--$N+
--$O+
--$P+
--$Q-
--$R-
--$S-
--$T-
--$U-
--$V+
--$W-
--$X+
--$Y-
--$Z1
--cg
--AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
--H+
--W+
--M
--$M16384,1048576
--K$00400000
--E"..\bin"
--N".\dcu"
--LE"c:\program files\borland\delphi7\Projects\Bpl"
--LN"c:\program files\borland\delphi7\Projects\Bpl"
--U".\MirandaINC;..\res\Delphi;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source"
--O".\MirandaINC;..\res\Delphi;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source"
--I".\MirandaINC;..\res\Delphi;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source"
--R".\MirandaINC;..\res\Delphi;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source"
--DMIRANDA;xFASTMM4;xDEBUG_LOG
--w-UNSAFE_TYPE
--w-UNSAFE_CODE
--w-UNSAFE_CAST
diff --git a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dof b/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dof
deleted file mode 100644
index 5b7c6eacea..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dof
+++ /dev/null
@@ -1,170 +0,0 @@
-[FileVersion]
-Version=7.0
-[Compiler]
-A=8
-B=0
-C=0
-D=0
-E=0
-F=0
-G=1
-H=1
-I=0
-J=1
-K=0
-L=0
-M=0
-N=1
-O=1
-P=1
-Q=0
-R=0
-S=0
-T=0
-U=0
-V=1
-W=0
-X=1
-Y=0
-Z=1
-ShowHints=1
-ShowWarnings=1
-UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-NamespacePrefix=
-SymbolDeprecated=1
-SymbolLibrary=1
-SymbolPlatform=1
-UnitLibrary=1
-UnitPlatform=1
-UnitDeprecated=1
-HResultCompat=1
-HidingMember=1
-HiddenVirtual=1
-Garbage=1
-BoundsError=1
-ZeroNilCompat=1
-StringConstTruncated=1
-ForLoopVarVarPar=1
-TypedConstVarPar=1
-AsgToTypedConst=1
-CaseLabelRange=1
-ForVariable=1
-ConstructingAbstract=1
-ComparisonFalse=1
-ComparisonTrue=1
-ComparingSignedUnsigned=1
-CombiningSignedUnsigned=1
-UnsupportedConstruct=1
-FileOpen=1
-FileOpenUnitSrc=1
-BadGlobalSymbol=1
-DuplicateConstructorDestructor=1
-InvalidDirective=1
-PackageNoLink=1
-PackageThreadVar=1
-ImplicitImport=1
-HPPEMITIgnored=1
-NoRetVal=1
-UseBeforeDef=1
-ForLoopVarUndef=1
-UnitNameMismatch=1
-NoCFGFileFound=1
-MessageDirective=1
-ImplicitVariants=1
-UnicodeToLocale=1
-LocaleToUnicode=1
-ImagebaseMultiple=1
-SuspiciousTypecast=1
-PrivatePropAccessor=1
-UnsafeType=0
-UnsafeCode=0
-UnsafeCast=0
-[Linker]
-MapFile=0
-OutputObjs=0
-ConsoleApp=1
-DebugInfo=0
-RemoteSymbols=0
-MinStackSize=16384
-MaxStackSize=1048576
-ImageBase=4194304
-ExeDescription=
-[Directories]
-OutputDir=..\bin
-UnitOutputDir=.\dcu
-PackageDLLOutputDir=
-PackageDCPOutputDir=
-SearchPath=.\MirandaINC;..\res\Delphi;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source
-Packages=vcl;rtl;dbrtl;vcldb;vclx;bdertl;delphiclxide;proide;delphivclide;direct;vclie;stride;VclSmp;vclactnband
-Conditionals=MIRANDA;xFASTMM4;xDEBUG_LOG
-DebugSourceDirs=
-UsePackages=0
-[Parameters]
-RunParams=
-HostApplication=
-Launcher=
-UseLauncher=0
-DebugCWD=
-[Language]
-ActiveLang=
-ProjectLang=
-RootDir=
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1049
-CodePage=1251
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-[HistoryLists\hlConditionals]
-Count=15
-Item0=SKYPE;xFASTMM4;TESTING;SKYPE_API
-Item1=SKYPE;xFASTMM4;xTESTING;SKYPE_API
-Item2=SKYPE;xFASTMM4;xTESTING;xSKYPE_API
-Item3=SKYPE;xFASTMM4;xTESTING;xSKYPE_API;TESTING
-Item4=SKYPE;xFASTMM4;xTESTING;SKYPE_API;TESTING
-Item5=SKYPE;xFASTMM4;xTESTING;SKYPE_API;xDEBUG_LOG
-Item6=SKYPE;xFASTMM4;TESTING;SKYPE_API;xDEBUG_LOG
-Item7=SKYPE;xFASTMM4;xTESTING;xSKYPE_API;xDEBUG_LOG
-Item8=SKYPE;xFASTMM4;TESTING;xSKYPE_API;xDEBUG_LOG;xTESTING
-Item9=SKYPE;xFASTMM4;TESTING;xSKYPE_API;xDEBUG_LOG;TESTING
-Item10=SOCKET;xFASTMM4
-Item11=SKYPE;xFASTMM4;xTESTING;xSKYPE_API;xDEBUG_LOG;TESTING
-Item12=SKYPE;xFASTMM4;xTESTING;xSKYPE_API;DEBUG_LOG
-Item13=SKYPE;xFASTMM4;TESTING;xSKYPE_API;DEBUG_LOG
-Item14=SKYPE;xFASTMM4;TESTING;xSKYPE_API;xDEBUG_LOG
-[HistoryLists\hlUnitAliases]
-Count=1
-Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-[HistoryLists\hlSearchPath]
-Count=5
-Item0=$(DELPHI)\Lib\Debug;..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source;.\SkypeAPI
-Item1=..\lib\FastMM4;..\lib\PNGImage;..\lib\XIE;..\lib\TntUnicodeControls\Source;.\SkypeAPI
-Item2=$(DELPHI)\Lib\Debug;..\lib\FastMM4;..\lib\PNGImage;..\lib\TntUnicodeControls\Source
-Item3=..\lib\FastMM4;..\lib\PNGImage;..\lib\TntUnicodeControls\Source;.\SkypeAPI
-Item4=$(DELPHI)\Lib\Debug;..\lib\FastMM4;..\lib\PNGImage;..\lib\TntUnicodeControls\Source;.\SkypeAPI
-[HistoryLists\hlUnitOutputDirectory]
-Count=1
-Item0=.\dcu
-[HistoryLists\hlOutputDirectorry]
-Count=2
-Item0=..\bin\Chess4Net_Skype
-Item1=..\bin
diff --git a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dpr b/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dpr
deleted file mode 100644
index bc07ffc32c..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/Chess4Net_MI.dpr
+++ /dev/null
@@ -1,82 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-library Chess4Net_MI;
-{*******************************
- plugin library for Miranda
-********************************}
-
-(*
-{$IFDEF FASTMM4}
- FastMM4,
-{$ENDIF}
-*)
-
-uses
-{$IFDEF FASTMM4}
- FastMM4,
-{$ENDIF}
- Forms,
- SysUtils,
- Windows,
- BitmapResUnit in '..\BitmapResUnit.pas',
- ChessBoardHeaderUnit in '..\ChessBoardHeaderUnit.pas',
- ChessBoardUnit in '..\ChessBoardUnit.pas' {ChessBoard},
- PosBaseChessBoardLayerUnit in '..\PosBaseChessBoardLayerUnit.pas',
- GameChessBoardUnit in '..\GameChessBoardUnit.pas' {GameChessBoard},
- ConnectingUnit in '..\ConnectingUnit.pas' {ConnectingForm},
- ConnectorUnit in 'ConnectorUnit.pas',
- ContinueUnit in '..\ContinueUnit.pas' {ContinueForm},
- ControlUnit in 'ControlUnit.pas',
- DialogUnit in '..\DialogUnit.pas',
- GameOptionsUnit in '..\GameOptionsUnit.pas' {GameOptionsForm},
- GlobalsLocalUnit in 'GlobalsLocalUnit.pas',
- GlobalsUnit in '..\GlobalsUnit.pas',
- InfoUnit in '..\InfoUnit.pas' {InfoForm},
- LocalizerUnit in '..\LocalizerUnit.pas',
- LookFeelOptionsUnit in '..\LookFeelOptionsUnit.pas' {OptionsForm},
- ManagerUnit in '..\ManagerUnit.pas' {Manager},
- MessageDialogUnit in '..\MessageDialogUnit.pas',
- ModalForm in '..\ModalForm.pas',
- PluginCommonUnit in 'PluginCommonUnit.pas',
- PosBaseUnit in '..\PosBaseUnit.pas',
- PromotionUnit in '..\PromotionUnit.pas' {PromotionForm},
- ChessRulesEngine in '..\ChessRulesEngine.pas',
- ManagerUnit.MI in 'ManagerUnit.MI.pas',
- TransmitGameSelectionUnit in 'TransmitGameSelectionUnit.pas' {TransmitGameSelectionForm},
- ChessClockUnit in '..\ChessClockUnit.pas',
- URLVersionQueryUnit in '..\URLVersionQueryUnit.pas',
- DontShowMessageDlgUnit in '..\DontShowMessageDlgUnit.pas',
- IniSettingsUnit in '..\IniSettingsUnit.pas',
- NonRefInterfacedObjectUnit in '..\NonRefInterfacedObjectUnit.pas';
-
-{$R ..\Chess4Net.res}
-
-begin
- ControlUnit.PLUGIN_NAME := 'Chess4Net';
- PLUGIN_MENU_NAME := '&Chess4Net';
-
- with _PluginInfo^ do
- begin
- shortName := 'Chess4Net';
- version := MakeMirandaPluginVersion(201,1,0,1); // 2010.0
- description := PLUGIN_PLAYING_OVER;
- author := 'Pavel Perminov';
- authorEmail := 'packpaul@mail.ru';
- copyright := '(c) 2007-2011 No Copyrights';
- homepage := 'http://www.chess4net.ru';
- end;
-
- guidPlugin := StringToGUID('{BF17C6E3-C52C-4CB8-88ED-E0FC5F5D566A}');
- miidPlugin := StringToGUID('{EBB410F6-E9AA-4F1B-8912-8C41E4EC0F90}'); // interface
-
- MirandaPluginMenuPosition := $7FFFFFFF; // or < $7FFFFFFF
-
- gCreatePluginInstance := CreatePluginInstance;
- gInitializeControls := InitializeControls;
- gDeinitializeControls := DeinitializeControls;
- gErrorDuringPluginStart := ErrorDuringPluginStart;
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/ConnectorUnit.pas b/plugins/!NotAdopted/Chess4Net/MI/ConnectorUnit.pas
deleted file mode 100644
index 525ebb3b22..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/ConnectorUnit.pas
+++ /dev/null
@@ -1,841 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit ConnectorUnit;
-
-interface
-
-uses
- Classes, ExtCtrls,
- m_globaldefs;
-
-type
- TConnectorEvent = (ceConnected, ceDisconnected, ceData, ceError);
-
- TConnectorHandler = procedure(ce: TConnectorEvent; d1: pointer = nil;
- d2: pointer = nil) of object;
-
- IConnectorable = interface
- procedure ConnectorHandler(ce: TConnectorEvent; d1: pointer = nil; d2: pointer = nil);
- end;
-
- TConnector = class
- private
- _sendTimer, _sendSystemTimer: TTimer;
-
- _connected, _opened: boolean;
- _plugin: IConnectorable;
- _hContact, _hFilterMsg: THandle;
- _lstId, _contactLstId: integer;
- // отсылаемое сообщение
- _msg_sending, _unformated_msg_sending: string;
- _cntrMsgIn: integer; // счётчик входящих сообщений
- _cntrMsgOut: integer; // счётчик исходящих сообщений
- m_iLastCntrMsgOutInFormatting: integer;
- _msg_buf: string; // буфер сообщений
- // системное сообщение
- _systemDataList: TStringList;
- m_lwId: Longword;
- m_LastSendTime: TDateTime;
-
-{$IFDEF DEBUG_LOG}
- _logFile: Text;
-
- procedure InitLog;
- procedure WriteToLog(const s: string);
- procedure CloseLog;
-{$ENDIF}
-
- procedure FsendTimerTimer(Sender: TObject);
- procedure FsendSystemTimerTimer(Sender: TObject);
-
- function FGetOwnerNick: string;
- function FGetContactNick: string;
- function FFilterMsg(msg: string): boolean;
- function FSendMessage(const vMessage: string): boolean;
-// function FNotifySender(const vMessage: string): boolean;
- procedure FNotifySender;
- procedure FSendSystemData(sd: string);
- function FDeformatMsg(var msg: string; out lstId, msgCntr: integer): boolean;
- // Formatting of outgoing messages
- function FFormatMsg(const msg: string): string;
- function FGetOwnerID: integer;
- function FGetMultiSession: boolean;
- procedure FSetMultiSession(bValue: boolean);
- procedure FPluginConnectorHandler(ce: TConnectorEvent;
- d1: pointer = nil; d2: pointer = nil);
-
- public
- constructor Create(hContact: THandle); reintroduce;
- destructor Destroy; override;
-
- procedure Close;
- function Open(bMultiSession: boolean = TRUE): boolean;
- function SendData(const d: string): boolean;
- procedure SetPlugin(plugin: IConnectorable);
-
- property Connected: boolean read _connected;
- property Opened: boolean read _opened;
- property OwnerID: integer read FGetOwnerID;
- property OwnerNick: string read FGetOwnerNick;
- property ContactID: integer read _hContact;
- property ContactNick: string read FGetContactNick;
- property MultiSession: boolean read FGetMultiSession write FSetMultiSession;
- end;
-
-procedure InitConnectorGlobals(const invitationStr, promtHeadStr, dataSeparator: string; maxMsgSize: integer = 256);
-
-implementation
-
-{$J+} {$I-}
-
-uses
- SysUtils, DateUtils, StrUtils, Types,
- m_api,
- ControlUnit;
-
-type
- TConnectorList = class(TList)
- private
- _iterator: integer;
- _hContact: THandle;
-
- function FGetLastAddedConnector: TConnector;
-
- public
- procedure AddConnector(Connector: TConnector);
- procedure RemoveConnector(Connector: TConnector);
- function GetFirstConnector(hContact: THandle): TConnector;
- function GetNextConnector: TConnector;
- property LastAddedConnector: TConnector read FGetLastAddedConnector;
- end;
-
-var
- g_connectorList: TConnectorList = nil;
- g_msgBufferSize: integer;
- g_bMultiSession: boolean;
-
- g_hNotifySender: THandle;
-
- // cntrMsgIn и cntrMsgOut были введены для преодоления бага с зависающими сообщениями
-
-const
- MSG_INVITATION: string = '!&This is a plugin invitation message&!';
- // MSG_RESPOND: string = '!&This is a plugin respond message&!';
- // <сообщение> ::= PROMPT_HEAD [PROMPT_SEPARATOR <ид клиента>] PROMPT_SEPARATOR <номер сообщения> PROMPT_TAIL <сообщение>
- PROMPT_HEAD: string = 'Plgn';
- PROMPT_SEPARATOR = ':';
- PROMPT_TAIL = '>';
-
- DATA_SEPARATOR: string = '&&';
-
- CMD_CLOSE = 'ext';
- CMD_CONTACT_LIST_ID = 'lstid';
-
- MAX_MSG_TRYS = 3; // максимальное количество попыток пересыла после ошибки
- MAX_RESEND_TRYS = 9; // максимальное количество попыток пересыла в таймере
- MIN_TIME_BETWEEN_MSG = 30; // время между отправкой сообщений системе IM в мс
-
- OWNER_ID = 0;
-
-(*
-function TConnector.FSendMessage(const vMessage: string): boolean;
-const
- LAST_SEND_TIME: TDateTime = 0.0;
-var
- _now: TDateTime;
-begin
- _now := Now;
- if (MilliSecondsBetween(_now, LAST_SEND_TIME) < MIN_TIME_BETWEEN_MSG) then
- Result := FALSE
- else
- begin
- LAST_SEND_TIME := _now;
- CallContactService(_hContact, PSS_MESSAGE, 0, LPARAM(PChar(vMessage)));
- Result := TRUE;
- end;
-end;
-*)
-
-// PP: Let's hope Miranda IM can messages to different contacts at the same time
-
-function TConnector.FSendMessage(const vMessage: string): boolean;
-// const
-// LAST_SEND_TIME: TDateTime = 0.0;
-var
- _now: TDateTime;
-begin
- _now := Now;
- if (MilliSecondsBetween(_now, m_LastSendTime) < MIN_TIME_BETWEEN_MSG) then
- Result := FALSE
- else
- begin
- m_LastSendTime := _now;
- CallContactService(_hContact, PSS_MESSAGE, 0, LPARAM(PChar(vMessage)));
- Result := TRUE;
- end;
-end;
-
-
-function NotifySender(wParam: WPARAM; lParam_: LPARAM): int; cdecl;
-const
- MSG_TRYS: integer = 1;
-var
- connector: TConnector;
- hContact: THandle;
-begin
- Result := 0;
- hContact := PACKDATA(lParam_).hContact;
-
- if (PACKDATA(lParam_).type_ <> ACKTYPE_MESSAGE) then
- exit;
-
- case PACKDATA(lParam_)^.result_ of
- ACKRESULT_SUCCESS:
- begin
- MSG_TRYS := 1;
-
- connector := g_connectorList.GetFirstConnector(hContact);
- while Assigned(connector) do
- begin
- if (connector._msg_sending <> '') then
- connector.FNotifySender;
- connector := g_connectorList.GetNextConnector;
- end;
- end;
-
- ACKRESULT_FAILED:
- begin
- inc(MSG_TRYS);
- if (MSG_TRYS <= MAX_MSG_TRYS) then
- begin
- connector := g_connectorList.GetFirstConnector(hContact);
- while (Assigned(connector)) do
- begin
- if connector._msg_sending <> '' then
- with connector do
- begin
- _msg_buf := _unformated_msg_sending + _msg_buf;
- _sendTimer.Enabled := TRUE;
- end;
- connector := g_connectorList.GetNextConnector;
- end; // while
- end
- else
- begin
- connector := g_connectorList.GetFirstConnector(hContact);
- while (Assigned(connector)) do
- begin
- if (connector._msg_sending <> '') then
- begin
- connector.FPluginConnectorHandler(ceError);
- end;
- connector := g_connectorList.GetNextConnector;
- end;
- end; // if (MSG_TRYS <= MAX_MSG_TRYS)
- end; // ACKRESULT_FAILED
- end; // case PACKDATA
-end;
-
-
-procedure TConnector.FNotifySender;
-begin
-{$IFDEF DEBUG_LOG}
- WriteToLog('<< ' + _msg_sending);
-{$ENDIF}
- if (Connected and (_msg_sending <> MSG_INVITATION)) then
- begin
- _unformated_msg_sending := '';
- inc(_cntrMsgOut);
- if (_cntrMsgOut > m_iLastCntrMsgOutInFormatting) then
- _cntrMsgOut := m_iLastCntrMsgOutInFormatting + 1;
- end;
- _msg_sending := '';
-end;
-
-
-// деформатирование входящих сообщений. TRUE - если декодирование удалось
-function TConnector.FDeformatMsg(var msg: string; out lstId, msgCntr: integer): boolean;
-var
- l: integer;
-begin
- Result := FALSE;
- if LeftStr(msg, length(PROMPT_HEAD + PROMPT_SEPARATOR)) = (PROMPT_HEAD + PROMPT_SEPARATOR) then
- begin
- msg := RightStr(msg, length(msg) - length(PROMPT_HEAD + PROMPT_SEPARATOR));
-
- // contactListId
-// if (_contactLstId >= 0) then
- if (g_bMultiSession) then
- begin
- l := pos(PROMPT_SEPARATOR, msg);
- if (l > 0) then
- begin
- if (not TryStrToInt(LeftStr(msg, l - 1), lstId)) then
- exit;
- msg := RightStr(msg, length(msg) - l);
- end
- else
- lstId := g_connectorList.LastAddedConnector._lstId;
- end
- else
- lstId := -1; // no contactListId specified in message
-
- // Message counter
- l := pos(PROMPT_TAIL, msg);
- if ((l = 0) or (not TryStrToInt(LeftStr(msg, l - 1), msgCntr))) then
- exit;
-
- msg := RightStr(msg, length(msg) - l);
- // msg := AnsiReplaceStr(msg, '&amp;', '&');
-
- Result := TRUE;
- end;
-end;
-
-
-function TConnector.FFilterMsg(msg: string): boolean;
-
- procedure NProceedData(msg: string);
-
- function NProceedSystemCommand(msg: string): boolean;
- begin
- Result := TRUE;
- if (LeftStr(msg, length(CMD_CONTACT_LIST_ID)) = CMD_CONTACT_LIST_ID) then
- begin
- msg := RightStr(msg, length(msg) - length(CMD_CONTACT_LIST_ID) - 1);
- TryStrToInt(msg, _contactLstId);
- end
- else if (msg = CMD_CLOSE) then
- begin
- FPluginConnectorHandler(ceDisconnected);
- _connected := FALSE;
- _opened := FALSE;
- end
- else
- Result := FALSE;
- end;
-
- var
- n, l, i: integer;
- arrDatas: TStringDynArray;
- strCommand: string;
- bSystemCommand: boolean;
- begin { \NProceedData }
- if (RightStr(msg, length(DATA_SEPARATOR)) <> DATA_SEPARATOR) then
- msg := msg + DATA_SEPARATOR;
-
- n := -1;
- l := 1;
- repeat
- inc(n);
- l := PosEx(DATA_SEPARATOR, msg, l);
- inc(l, length(DATA_SEPARATOR));
- until (l = length(DATA_SEPARATOR));
-
- SetLength(arrDatas, n);
-
- bSystemCommand := TRUE;
- i := 0;
- while (i < n) do
- begin
- l := pos(DATA_SEPARATOR, msg);
- strCommand := LeftStr(msg, l - 1);
-
- if (bSystemCommand) then // System commands can go only in the beginning by definition
- begin
- bSystemCommand := NProceedSystemCommand(strCommand);
- if (bSystemCommand) then
- begin
- dec(n);
- SetLength(arrDatas, n);
- continue;
- end;
- end;
-
- arrDatas[i] := strCommand;
- msg := RightStr(msg, length(msg) - length(DATA_SEPARATOR) - l + 1);
-
- inc(i);
- end; { while }
-
- if (n > 0) then
- begin
- FPluginConnectorHandler(ceData, arrDatas);
- end;
-
- Finalize(arrDatas);
- end;
-
-var
- lstId, cntrMsg: integer;
-begin { TConnector.FFilterMsg }
-{$IFDEF DEBUG_LOG}
- WriteToLog('>> ' + msg);
-{$ENDIF}
- if (not Connected) then
- begin
- // if (msg = MSG_INVITATION) or (msg = MSG_RESPOND) then
- if (msg = MSG_INVITATION) then
- begin
- // if msg = MSG_INVITATION then
- // FSendMessage(MSG_RESPOND);
- FSendSystemData(MSG_INVITATION);
- if (g_bMultiSession) then
- FSendSystemData(FFormatMsg(CMD_CONTACT_LIST_ID + ' ' + IntToStr(_lstId)));
- _connected := TRUE;
- FPluginConnectorHandler(ceConnected);
- Result := TRUE;
- end
- else
- Result := FALSE;
- end
- else // Connected
- begin
- if (FDeformatMsg(msg, lstId, cntrMsg) and ((not g_bMultisession) or (lstId = _lstId))) then
- begin
- Result := TRUE;
-
- if (cntrMsg > _cntrMsgIn) then
- begin
- inc(_cntrMsgIn);
- if (cntrMsg > _cntrMsgIn) then
- begin
- FPluginConnectorHandler(ceError); // пакет исчез
- exit;
- end;
- end
- else if (cntrMsg < _cntrMsgIn) then
- exit; // skipping packets with lower numbers
-
- // if (cntrMsg = _cntrMsgIn) there's no garantee that packets are synchronized, but let's hope it's so.
-
- NProceedData(msg);
- end
- else
- Result := FALSE;
- end;
-end;
-
-
-function TConnector.FFormatMsg(const msg: string): string;
-var
- contactLstIdStr: string;
-begin
- if (_contactLstId >= 0) then
- contactLstIdStr := PROMPT_SEPARATOR + IntToStr(_contactLstId)
- else // -1
- contactLstIdStr := '';
- Result := PROMPT_HEAD + contactLstIdStr + PROMPT_SEPARATOR + IntToStr(_cntrMsgOut) + PROMPT_TAIL + msg;
- m_iLastCntrMsgOutInFormatting := _cntrMsgOut;
-end;
-
-
-procedure TConnector.Close;
-begin
- if (Connected) then
- begin
- FSendSystemData(FFormatMsg(CMD_CLOSE));
-
- _connected := FALSE;
- FPluginConnectorHandler(ceDisconnected);
- end;
-
- _sendTimer.Enabled := FALSE;
- _opened := FALSE;
-
-{$IFDEF DEBUG_LOG}
- CloseLog;
-{$ENDIF}
-end;
-
-
-function TConnector.Open(bMultiSession: boolean = TRUE): boolean;
-var
- AConnector: TConnector;
-begin
- Result := FALSE;
-
- if (not g_bMultiSession) then
- g_bMultiSession := bMultisession;
-
- if (Assigned(g_connectorList)) then
- begin
- AConnector := g_connectorList.GetFirstConnector(_hContact);
- while (Assigned(AConnector)) do
- begin
- if (AConnector.Opened and (AConnector._contactLstId < 0)) then
- exit;
- AConnector := g_connectorList.GetNextConnector;
- end;
- end;
-
- _cntrMsgIn := 0;
- _cntrMsgOut := 1;
- _msg_sending := '';
- _unformated_msg_sending := '';
- _msg_buf := '';
- _contactLstId := -1;
- _opened := TRUE;
-
- FSendSystemData(MSG_INVITATION);
-
- Result := TRUE;
-end;
-
-
-function TConnector.SendData(const d: string): boolean;
-begin
- Result := FALSE;
- if (d = '') or
- (length(_msg_buf) + length(d) + length(DATA_SEPARATOR) > g_msgBufferSize) or
- (LeftStr(d, length(CMD_CLOSE)) = CMD_CLOSE) or
- (LeftStr(d, length(CMD_CONTACT_LIST_ID)) = CMD_CONTACT_LIST_ID) or
- (pos(DATA_SEPARATOR, d) > 0) then
- begin
- exit;
- end
- else
- begin
- _msg_buf := _msg_buf + d + DATA_SEPARATOR;
- _sendTimer.Enabled := TRUE; // Отослать сообщение с некоторой оттяжкой -> всё одним пакетом
- end;
- Result := TRUE;
-end;
-
-
-function FilterMsg(wParam: WPARAM; lParam_: LPARAM): int; cdecl;
-var
- msg: string;
- hContact: THandle;
- connector: TConnector;
- proceeded: boolean;
-begin
- msg := string(PPROTORECVEVENT(PCCSDATA(lParam_).lParam).szMessage);
- hContact := PCCSDATA(lParam_).hContact;
-
- proceeded := FALSE;
-
- if Assigned(g_connectorList) then
- begin
- connector := g_connectorList.GetFirstConnector(hContact);
- while (Assigned(connector)) do
- begin
- if connector.Opened then
- proceeded := (connector.FFilterMsg(msg) or proceeded);
- connector := g_connectorList.GetNextConnector;
- end;
- end;
-
- if proceeded then
- Result := 0
- else
- Result := CallService(MS_PROTO_CHAINRECV, wParam, lParam_);
-end;
-
-
-constructor TConnector.Create(hContact: THandle);
-const
- ID_COUNTER: Longword = 0;
-var
- connector: TConnector;
-begin
-// inherited Create;
- _sendTimer := TTimer.Create(nil);
- with _sendTimer do
- begin
- Enabled := FALSE;
- Interval := 100;
- OnTimer := FsendTimerTimer;
- end;
-
- _sendSystemTimer := TTimer.Create(nil);
- with _sendSystemTimer do
- begin
- Enabled := FALSE;
- Interval := 50;
- OnTimer := FsendSystemTimerTimer;
- end;
-
- _hContact := hContact;
- _systemDataList := TStringList.Create;
-
- if (not Assigned(g_connectorList)) then
- g_connectorList := TConnectorList.Create;
-
- connector := g_connectorList.GetFirstConnector(_hContact);
- if Assigned(connector) then
- _hFilterMsg := connector._hFilterMsg
- else
- begin
- _hFilterMsg := CreateProtoServiceFunction(PChar(PLUGIN_NAME), PSR_MESSAGE, FilterMsg);
- if CallService(MS_PROTO_ISPROTOONCONTACT, _hContact, LPARAM(PChar(PLUGIN_NAME))) = 0 then
- CallService(MS_PROTO_ADDTOCONTACT, _hContact, LPARAM(PChar(PLUGIN_NAME)));
- end;
-
- if (g_connectorList.Count = 0) then
- g_hNotifySender := HookEvent(ME_PROTO_ACK, NotifySender);
-
- inc(ID_COUNTER);
- m_lwId := ID_COUNTER;
-
- g_connectorList.AddConnector(self);
-
-{$IFDEF DEBUG_LOG}
- InitLog;
-{$ENDIF}
-end;
-
-
-destructor TConnector.Destroy;
-begin
- if Connected then
- while (not FSendMessage(FFormatMsg(CMD_CLOSE))) do
- Sleep(1);
-
- _systemDataList.Free;
-
- g_connectorList.RemoveConnector(self);
- if (g_connectorList.Count = 0) then
- g_bMultiSession := FALSE;
-
- if (not Assigned(g_connectorList.GetFirstConnector(_hContact))) then
- begin
- if CallService(MS_PROTO_ISPROTOONCONTACT, _hContact, LPARAM(PChar(PLUGIN_NAME))) <> 0 then
- CallService(MS_PROTO_REMOVEFROMCONTACT, _hContact, LPARAM(PChar(PLUGIN_NAME)));
- PluginLink.DestroyServiceFunction(_hFilterMsg);
- end;
-
- if (g_connectorList.Count = 0) then
- begin
- if (g_hNotifySender <> 0) then
- UnhookEvent(g_hNotifySender);
- FreeAndNil(g_connectorList);
- end;
-
- _sendSystemTimer.Free;
- _sendTimer.Free;
-
-{$IFDEF DEBUG_LOG}
- CloseLog;
-{$ENDIF}
-
- inherited;
-end;
-
-{$IFDEF DEBUG_LOG}
-procedure TConnector.InitLog;
-begin
- AssignFile(_logFile, MirandaPluginPath + 'Chess4Net_CONNECTORLOG.txt');
- Append(_logFile);
- if IOResult <> 0 then
- begin
- Rewrite(_logFile);
- if IOResult <> 0 then
- begin
- AssignFile(_logFile, MirandaPluginPath + 'Chess4Net_CONNECTORLOG~.txt');
- Append(_logFile);
- if IOResult <> 0 then Rewrite(_logFile);
- end;
- end;
-
- WriteToLog('[' + DateTimeToStr(Now) + ']');
-end;
-
-
-procedure TConnector.WriteToLog(const s: string);
-begin
- writeln(_logFile, s);
- Flush(_logFile);
-end;
-
-
-procedure TConnector.CloseLog;
-begin
- CloseFile(_logFile);
-end;
-{$ENDIF}
-
-procedure TConnector.FsendTimerTimer(Sender: TObject);
-const
- RESEND_COUNT : integer = 0;
-begin
- if (_systemDataList.Count > 0) then
- exit; // System data goes first
-
- if (_msg_sending = '') then
- begin
- _sendTimer.Enabled := FALSE;
- if (_msg_buf <> '') then
- begin
- _unformated_msg_sending := _msg_buf;
- _msg_sending := FFormatMsg(_msg_buf);
- _msg_buf := '';
-
- _sendTimer.Enabled := (not FSendMessage(_msg_sending));
- end;
- end
- else
- begin
-{$IFDEF DEBUG_LOG}
- WriteToLog('resend: ' + _msg_sending);
-{$ENDIF}
- inc(RESEND_COUNT);
- if (RESEND_COUNT = MAX_RESEND_TRYS) then
- begin
- RESEND_COUNT := 0;
- FSendMessage(_msg_sending);
- end;
- end;
-end;
-
-
-procedure TConnector.SetPlugin(plugin: IConnectorable);
-begin
- _plugin := plugin;
-end;
-
-
-function TConnector.FGetOwnerNick: string;
-begin
- Result := PChar(CallService(MS_CLIST_GETCONTACTDISPLAYNAME, 0, 0));
-end;
-
-
-function TConnector.FGetContactNick: string;
-begin
- Result := PChar(CallService(MS_CLIST_GETCONTACTDISPLAYNAME, _hContact, 0));
-end;
-
-
-procedure InitConnectorGlobals(const invitationStr, promtHeadStr, dataSeparator: string; maxMsgSize: integer = 256);
-begin
- MSG_INVITATION := invitationStr;
- PROMPT_HEAD := promtHeadStr;
- DATA_SEPARATOR := dataSeparator;
- g_msgBufferSize := maxMsgSize;
-end;
-
-{---------------------------- TConnectorList ---------------------------------}
-
-procedure TConnectorList.AddConnector(Connector: TConnector);
-var
- i: integer;
-begin
- for i := 0 to Count - 1 do
- begin
- if (not Assigned(Items[i])) then
- begin
- Connector._lstId := i;
- Items[i] := Connector;
- exit;
- end;
- end; // for
- Add(Connector);
- Connector._lstId := Count - 1;
-end;
-
-
-procedure TConnectorList.RemoveConnector(Connector: TConnector);
-begin
- Items[Connector._lstId] := nil;
- while ((Count > 0) and (not Assigned(Items[Count - 1]))) do
- Delete(Count - 1);
-end;
-
-
-function TConnectorList.GetFirstConnector(hContact: THandle): TConnector;
-begin
- _hContact := hContact;
-
- _iterator := -1;
- Result := GetNextConnector;
-end;
-
-
-function TConnectorList.GetNextConnector: TConnector;
-begin
- Result := nil;
-
- while (_iterator < (Count - 1)) do
- begin
- inc(_iterator);
- if (Assigned(Items[_iterator]) and
- (_hContact = TConnector(Items[_iterator])._hContact)) then
- begin
- Result := Items[_iterator];
- exit;
- end;
- end;
-end;
-
-
-function TConnectorList.FGetLastAddedConnector: TConnector;
-var
- i: integer;
-begin
- Result := nil;
- for i := 0 to Count - 1 do
- begin
- if ((not Assigned(Result)) or (TConnector(Items[i]).m_lwId > Result.m_lwId)) then
- Result := Items[i];
- end;
-end;
-
-
-procedure TConnector.FSendSystemData(sd: string);
-begin
- if ((sd <> MSG_INVITATION) and (sd <> CMD_CLOSE)) then
- sd := sd + DATA_SEPARATOR;
- _systemDataList.Add(sd);
- _sendSystemTimer.Enabled := TRUE;
-end;
-
-
-procedure TConnector.FsendSystemTimerTimer(Sender: TObject);
-begin
- if _systemDataList.Count = 0 then
- begin
- _sendSystemTimer.Enabled := FALSE;
- exit;
- end;
-
- _msg_sending := _systemDataList[0];
- if FSendMessage(_msg_sending) then
- _systemDataList.Delete(0);
- // else: try to resend
-end;
-
-
-function TConnector.FGetOwnerID: integer;
-begin
- Result := OWNER_ID;
-end;
-
-
-procedure TConnector.FSetMultiSession(bValue: boolean);
-begin
- if ((not g_bMultiSession) and bValue) then
- begin
- FSendSystemData(FFormatMsg(CMD_CONTACT_LIST_ID + ' ' + IntToStr(_lstId)));
- g_bMultiSession := TRUE;
- end;
-end;
-
-procedure TConnector.FPluginConnectorHandler(ce: TConnectorEvent;
- d1: pointer = nil; d2: pointer = nil);
-begin
- if (Assigned(_plugin)) then
- _plugin.ConnectorHandler(ce, d1, d2);
-end;
-
-
-function TConnector.FGetMultiSession: boolean;
-begin
- Result := g_bMultiSession;
-end;
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/ControlUnit.pas b/plugins/!NotAdopted/Chess4Net/MI/ControlUnit.pas
deleted file mode 100644
index 5a2743ca3c..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/ControlUnit.pas
+++ /dev/null
@@ -1,177 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit ControlUnit;
-
-interface
-
-uses
- Graphics,
- SysUtils, //Classes,
- m_globaldefs, m_api,
- ConnectorUnit;
-
-type
- IMirandaPlugin = interface(IConnectorable) // Implementatation class must be non-referenced
- ['{CE794050-DBA2-4D2E-867E-59A873DF7304}']
- procedure Start;
- procedure Stop;
- end;
-
-const
- PLUGIN_NAME: string = 'MirandaPlugin';
- PLUGIN_MENU_NAME: string = 'Miranda&Plugin';
-
-var
- _PluginInfo: PPLUGININFO = @PLUGININFO;
- guidPlugin, miidPlugin: TGUID;
-
- MirandaPluginsPath, MirandaPluginPath: string;
-
- MirandaPluginIcon: TIcon = nil;
- MirandaPluginMenuPosition: integer = $7FFFFFFF;
-
-// gShowPluginOptions: TProcedure = nil;
-// gShowWrongSDKVersion: TProcedure = nil;
- gCreatePluginInstance: function(Connector: TConnector): IMirandaPlugin = nil;
- gInitializeControls: TProcedure = nil;
- gDeinitializeControls: TProcedure = nil;
-// gStartOnWrongMsgProtocol: function: boolean = nil;
- gErrorDuringPluginStart: TProcedure = nil;
-
-function MirandaPluginInfo(mirandaVersion: DWORD): PPLUGININFO; cdecl;
-function MirandaPluginInfoEx(mirandaVersion: DWORD): PPLUGININFO; cdecl;
-function MirandaPluginInterfaces: PGUID; cdecl;
-function Load(link: PPLUGINLINK): int; cdecl;
-function Unload: int; cdecl;
-
-function MakeMirandaPluginVersion(a, b, c, d: byte): int;
-
-exports
- MirandaPluginInfo, MirandaPluginInfoEx, MirandaPluginInterfaces, Load, Unload;
-
-implementation
-
-uses
- Dialogs, Controls, Forms,
- PluginCommonUnit;
-
-var
- PluginInterfaces: array[0..1] of TGUID;
- g_hMenuCommand: THandle;
-
-function MirandaPluginInfo(mirandaVersion: DWORD): PPLUGININFO; cdecl;
-begin
- PLUGININFO.cbSize := sizeof(TPLUGININFO);
- PLUGININFO.isTransient := 0;
- PLUGININFO.replacesDefaultModule := 0;
-
- Result := @PLUGININFO;
-end;
-
-
-function MirandaPluginInfoEx(mirandaVersion: DWORD): PPLUGININFO; cdecl;
-begin
- MirandaPluginInfo(mirandaVersion); // Initialize PLUGININFO
-
- Move(PLUGININFO, PLUGININFOEX, sizeof(TPLUGININFO));
- PLUGININFOEX.cbSize := sizeof(TPLUGININFOEX);
- PLUGININFOEX.uuid := guidPlugin;
-
- Result := @PLUGININFOEX;
-end;
-
-
-function MirandaPluginInterfaces: PGUID; cdecl;
-begin
- PluginInterfaces[0] := miidPlugin;
- PluginInterfaces[1] := MIID_LAST;
-
- Result := @PluginInterfaces;
-end;
-
-
-function Start(wParam: WPARAM; lParam_: LPARAM): Integer; cdecl;
-var
- Connector: TConnector;
- pluginInstance: IMirandaPlugin;
-begin
- Connector := nil;
- Pointer(pluginInstance) := nil;
-
- try
- Connector := TConnector.Create(wParam);
- pluginInstance := gCreatePluginInstance(Connector);
- Connector.SetPlugin(pluginInstance);
- pluginInstance.Start;
- Pointer(pluginInstance) := nil;
- Result := 0;
- except
- if (Assigned(gErrorDuringPluginStart)) then
- gErrorDuringPluginStart;
- if (Assigned(Connector)) then
- Connector.SetPlugin(nil);
- if (Assigned(pluginInstance)) then
- begin
- pluginInstance.Stop;
- Pointer(pluginInstance) := nil;
- end;
- Result := -1;
- end;
-end;
-
-
-function Load(link: PPLUGINLINK): int; cdecl;
-var
- mi: TCListMenuItem;
- prt: TPROTOCOLDESCRIPTOR;
-begin
- if Assigned(gInitializeControls) then
- gInitializeControls;
-
- PLUGINLINK := Pointer(link);
- g_hMenuCommand := pluginLink^.CreateServiceFunction(PChar(PLUGIN_NAME + '/MenuCommand'), @Start);
- FillChar(mi, sizeof(mi), 0);
- mi.cbSize := sizeof(mi);
- mi.position := MirandaPluginMenuPosition;
- mi.flags := 0; // ?
-// mi.hIcon := LoadSkinnedIcon(SKINICON_OTHER_MIRANDA); // загрузка родной иконки
-// mi.hIcon := LoadIcon(hInstance, 'MAINICON'); // загрузка иконки из ресурса
- if Assigned(MirandaPluginIcon) then
- mi.hIcon := MirandaPluginIcon.Handle;
- mi.pszName := PChar(PLUGIN_MENU_NAME);
- mi.pszService := PChar(PLUGIN_NAME + '/MenuCommand');
- CallService(MS_CLIST_ADDCONTACTMENUITEM, 0, LPARAM(@mi));
-
- // регистрация фильтра сообщений
- prt.cbSize := sizeof(prt);
- prt.szName := PChar(PLUGIN_NAME);
- prt.type_ := PROTOTYPE_FILTER;
- CallService(MS_PROTO_REGISTERMODULE, 0, LPARAM(@prt));
-
- Result := 0;
-end;
-
-
-function Unload: int; cdecl;
-begin
- if Assigned(gDeinitializeControls) then
- gDeinitializeControls;
- pluginLink^.DestroyServiceFunction(g_hMenuCommand);
- g_hMenuCommand := 0;
- Result := 0;
-end;
-
-
-function MakeMirandaPluginVersion(a, b, c, d: byte): int;
-begin
- Result := PLUGIN_MAKE_VERSION(a,b,c,d);
-end;
-
-initialization
- MirandaPluginsPath := ExtractFileDir(Application.ExeName) + '\Plugins\';
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/GlobalsLocalUnit.pas b/plugins/!NotAdopted/Chess4Net/MI/GlobalsLocalUnit.pas
deleted file mode 100644
index 30eef7a2a8..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/GlobalsLocalUnit.pas
+++ /dev/null
@@ -1,36 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit GlobalsLocalUnit;
-
-// Модуль для глобальных переменных и констант версии для Миранды
-
-interface
-
-uses
- Graphics;
-
-const
- CHESS4NET = 'Chess4Net';
- CHESS4NET_VERSION = 201100; // 2011.0
- CHESS4NET_TITLE = 'Chess4Net 2011.0 (http://chess4net.ru)';
- MSG_INVITATION = 'Wellcome to Chess4Net. If you don''t have it, please download it from http://chess4net.ru';
- PROMPT_HEAD = 'Ch4N';
- MSG_DATA_SEPARATOR = '&&';
-
- PLUGIN_NAME = CHESS4NET;
- PLUGIN_VERSION = CHESS4NET_VERSION;
- PLUGIN_PLAYING_OVER = 'Plugin for playing chess over Miranda';
- PLUGIN_INFO_NAME = 'Chess4Net 2011.0.0';
- PLUGIN_URL = 'http://chess4net.ru';
- PLUGIN_EMAIL = 'packpaul@mail.ru';
-
-var
- Chess4NetIcon, pluginIcon: TIcon;
-
-implementation
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/ManagerUnit.MI.pas b/plugins/!NotAdopted/Chess4Net/MI/ManagerUnit.MI.pas
deleted file mode 100644
index c50aa58e4d..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/ManagerUnit.MI.pas
+++ /dev/null
@@ -1,845 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit ManagerUnit.MI;
-
-interface
-
-uses
- SysUtils,
- //
- ControlUnit, ManagerUnit, ConnectorUnit, ModalForm, NonRefInterfacedObjectUnit;
-
-type
- TManagerMIFactory = class(TNonRefInterfacedObject, IMirandaPlugin)
- private
- m_Connector: TConnector;
- m_Manager: IMirandaPlugin;
- m_Dialogs: TDialogs;
- m_bOwnExceptionHandler: boolean;
- FErrorDuringPluginStart: TProcedure;
- procedure FDialogsHandler(modSender: TModalForm; msgDlgID: TModalFormID);
- function FGetDialogs: TDialogs;
- procedure FStartGaming;
- procedure FStartTransmitting; overload;
- procedure FStartTransmitting(ManagerForTransmition: TManager); overload;
- function FCanStartTransmitting: boolean;
- procedure FHandleStartException;
- property Dialogs: TDialogs read FGetDialogs;
- protected
- procedure Start;
- procedure Stop;
- procedure ConnectorHandler(ce: TConnectorEvent; d1: pointer = nil; d2: pointer = nil);
- public
- constructor Create(Connector: TConnector; AErrorDuringPluginStart: TProcedure); reintroduce;
- destructor Destroy; override;
- end;
-
-procedure StopAllPlugins;
-
-implementation
-
-uses
- Types, StrUtils, Classes, Dialogs, Controls,
- //
- LocalizerUnit, TransmitGameSelectionUnit, GlobalsLocalUnit, ChessBoardUnit,
- GameChessBoardUnit;
-
-type
- TManagerMI = class(TManager, IMirandaPlugin) // abstract
- protected
- procedure Start;
- procedure Stop;
- procedure RSendData(const cmd: string); override;
- procedure ROnDestroy; override;
-
- procedure ConnectorHandler(e: TConnectorEvent; d1: pointer = nil; d2: pointer = nil); override;
- procedure RSetOpponentClientVersion(lwVersion: LongWord); override;
-
- public
- constructor Create(Connector: TConnector); reintroduce;
- destructor Destroy; override;
- end;
-
- TTransmittingManagerMI = class;
-
- EGamingManagerMI = class(Exception);
- TGamingManagerMI = class(TManagerMI, IMirandaPlugin)
- private
- m_lstTransmittingManagers: TList;
-
- procedure FAddTransmitter(ATransmitter: TTransmittingManagerMI);
- function FRemoveTransmitter(ATransmitter: TTransmittingManagerMI): boolean;
- procedure FSetGameContextToTransmitter(ATransmitter: TTransmittingManagerMI);
- function FContainsContactIDInTransmitters(iContactID: integer): boolean;
- procedure FUpdateChessBoardCaptions;
-
- protected
- procedure Start;
- procedure ROnCreate; override;
- procedure ROnDestroy; override;
- procedure ConnectorHandler(e: TConnectorEvent; d1: pointer = nil; d2: pointer = nil); override;
- procedure RSetConnectionOccured; override;
- procedure RHandleConnectorDataCommand(sl: string); override;
- procedure RRetransmit(const strCmd: string); override;
- function RGetGameName: string; override;
- end;
-
- ETransmittingManagerMI = class(Exception);
- TTransmittingManagerMI = class(TManagerMI, IMirandaPlugin) // TODO: move to separate hierarchy
- private
- m_GamingManager: TGamingManagerMI;
- m_bReady: boolean; // ready for transmition
- property Ready: boolean read m_bReady;
- protected
- procedure Start;
- procedure ROnCreate; override;
- procedure ROnDestroy; override;
-
- procedure ConnectorHandler(e: TConnectorEvent; d1: pointer = nil; d2: pointer = nil); override;
- procedure RHandleConnectorDataCommand(sl: string); override;
-// procedure RWriteSettings; override; // no need because m_bConnectionOccured is always FALSE
-
- public
- constructor Create(Connector: TConnector; GamingManager: TGamingManagerMI); reintroduce;
- end;
-
-var
- g_lstGamingManagers: TList = nil;
- g_Plugins: TInterfaceList = nil;
-
-procedure AddToPlugins(Plugin: IMirandaPlugin);
-begin
- if (not Assigned(g_Plugins)) then
- g_Plugins := TInterfaceList.Create;
- g_Plugins.Add(Plugin);
-end;
-
-procedure RemoveFromPlugins(Plugin: IMirandaPlugin);
-begin
- if (not Assigned(g_Plugins)) then
- exit;
- g_Plugins.Remove(Plugin);
- if (g_Plugins.Count = 0) then
- FreeAndNil(g_Plugins);
-end;
-
-
-procedure StopAllPlugins;
-var
- i: integer;
- Plugin: IMirandaPlugin;
-begin
- if (not Assigned(g_Plugins)) then
- exit;
- i := g_Plugins.Count - 1;
- while ((i >= 0) and Assigned(g_Plugins)) do
- begin
- Plugin := g_Plugins[i] as IMirandaPlugin;
- Plugin.Stop;
- Pointer(Plugin) := nil;
- dec(i);
- end;
- FreeAndNil(g_Plugins);
-end;
-
-////////////////////////////////////////////////////////////////////////////////
-// TGamingManagerMI
-
-procedure TGamingManagerMI.FAddTransmitter(ATransmitter: TTransmittingManagerMI);
-begin
- if (not Assigned(m_lstTransmittingManagers)) then
- m_lstTransmittingManagers := TList.Create;
- m_lstTransmittingManagers.Add(ATransmitter);
-end;
-
-
-function TGamingManagerMI.FRemoveTransmitter(ATransmitter: TTransmittingManagerMI): boolean;
-var
- i: integer;
-begin
- Result := FALSE;
-
- if (not Assigned(m_lstTransmittingManagers)) then
- exit;
-
- for i := 0 to m_lstTransmittingManagers.Count - 1 do
- begin
- if (m_lstTransmittingManagers[i] = ATransmitter) then
- begin
- m_lstTransmittingManagers.Delete(i);
- if (m_lstTransmittingManagers.Count = 0) then
- FreeAndNil(m_lstTransmittingManagers);
-
- Result := TRUE;
- exit;
- end;
- end; // for
-end;
-
-
-procedure TGamingManagerMI.FSetGameContextToTransmitter(ATransmitter: TTransmittingManagerMI);
-begin
- if (not (Assigned(ATransmitter) and ATransmitter.Ready)) then
- exit;
-
- ATransmitter.RSendData(CMD_NICK_ID + ' ' + PlayerNickId + ' ' + OpponentNickId + ' ' + OpponentNick);
- ATransmitter.RSendData(CMD_GAME_CONTEXT + ' ' + RGetGameContextStr);
-
- if (ChessBoard.Mode = mGame) then
- ATransmitter.RSendData(CMD_CONTINUE_GAME);
-end;
-
-
-function TGamingManagerMI.FContainsContactIDInTransmitters(iContactID: integer): boolean;
-var
- i: integer;
- ATransmitter: TTransmittingManagerMI;
-begin
- Result := FALSE;
- if (not Assigned(m_lstTransmittingManagers)) then
- exit;
- for i := 0 to m_lstTransmittingManagers.Count - 1 do
- begin
- ATransmitter := m_lstTransmittingManagers[i];
- if (Assigned(ATransmitter) and (ATransmitter.Connector.ContactID = iContactID)) then
- begin
- Result := TRUE;
- exit;
- end;
- end;
-end;
-
-
-procedure TGamingManagerMI.Start;
-begin
- if (Assigned(ChessBoard)) then
- begin
- Show;
- exit;
- end;
-
- if (not Connector.Opened) then
- begin
- if (not Connector.Open(FALSE)) then
- raise EGamingManagerMI.Create('ERROR: Cannot open connector!');
- end;
-
- RCreateChessBoardAndDialogs;
- RSetChessBoardToView;
-
- RReadPrivateSettings;
-
- RShowConnectingForm;
-end;
-
-
-procedure TGamingManagerMI.ROnCreate;
-begin
- RCreateAndPopulateExtBaseList;
-
- // Nicks initialization
- PlayerNick := Connector.OwnerNick;
- OpponentNick := Connector.ContactNick;
- OpponentId := IntToStr(Connector.ContactID);
-
- TLocalizer.Instance.AddSubscriber(self); // TODO: -> TManager.ROnCreate
- RLocalize;
-end;
-
-
-procedure TGamingManagerMI.ROnDestroy;
-
- procedure NRemoveFromGamings;
- var
- lstTmp: TList;
- i: integer;
- ATransmitter: TTransmittingManagerMI;
- begin
- if (Assigned(g_lstGamingManagers)) then
- g_lstGamingManagers.Remove(self);
-
- if (not Assigned(m_lstTransmittingManagers)) then
- exit;
-
- lstTmp := m_lstTransmittingManagers;
- m_lstTransmittingManagers := nil;
-
- for i := 0 to lstTmp.Count - 1 do
- begin
- ATransmitter := lstTmp[i];
- if (Assigned(ATransmitter)) then
- begin
- lstTmp[i] := nil;
- ATransmitter.Stop;
- end;
- end;
-
- lstTmp.Free;
- end;
-
-begin // TGamingManagerMI.ROnDestroy
- NRemoveFromGamings;
- FUpdateChessBoardCaptions;
- inherited ROnDestroy;
-end;
-
-
-procedure TGamingManagerMI.ConnectorHandler(e: TConnectorEvent;
- d1: pointer = nil; d2: pointer = nil);
-begin
- case e of
- ceError:
- begin
- Connector.Close;
- end;
- end; // case
-
- inherited ConnectorHandler(e, d1, d2);
-end;
-
-
-procedure TGamingManagerMI.RSetConnectionOccured;
-var
- iIndex: integer;
-begin
- inherited RSetConnectionOccured;
-
- if (not Assigned(g_lstGamingManagers)) then
- g_lstGamingManagers := TList.Create;
-
- iIndex := g_lstGamingManagers.IndexOf(self);
- if (iIndex < 0) then
- g_lstGamingManagers.Add(self);
-
- FUpdateChessBoardCaptions;
-end;
-
-
-procedure TGamingManagerMI.FUpdateChessBoardCaptions;
-var
- i: integer;
- GM: TGamingManagerMI;
-begin
- if (not Assigned(g_lstGamingManagers)) then
- exit;
- for i := 0 to g_lstGamingManagers.Count - 1 do
- begin
- GM := g_lstGamingManagers[i];
- if (Assigned(GM)) then
- GM.RUpdateChessBoardCaption;
- end;
-end;
-
-
-procedure TGamingManagerMI.RRetransmit(const strCmd: string);
-var
- i: integer;
- ATransmitter: TTransmittingManagerMI;
-begin
- if (Transmittable or (not Assigned(m_lstTransmittingManagers))) then
- exit;
-
- for i := 0 to m_lstTransmittingManagers.Count - 1 do
- begin
- ATransmitter := m_lstTransmittingManagers[i];
- if (Assigned(ATransmitter) and (ATransmitter.Ready)) then
- ATransmitter.RSendData(strCmd);
- end;
-end;
-
-
-function TGamingManagerMI.RGetGameName: string;
-var
- i: integer;
- iIndex: integer;
- iWithSameConnectorCount: integer;
- GM: TGamingManagerMI;
-begin
- Result := inherited RGetGameName;
-
- if (not Assigned(g_lstGamingManagers)) then
- exit;
-
- iWithSameConnectorCount := 0;
- iIndex := 0;
-
- for i := 0 to g_lstGamingManagers.Count - 1 do
- begin
- GM := g_lstGamingManagers[i];
- if (Assigned(GM) and (GM.Connector.ContactID = self.Connector.ContactID)) then
- begin
- inc(iWithSameConnectorCount);
- if (GM = self) then
- iIndex := iWithSameConnectorCount;
- end; // if
- end; // for
-
- if (iWithSameConnectorCount > 1) then
- Result := Result + ' (' + IntToStr(iIndex) + ')';
-end;
-
-
-procedure TGamingManagerMI.RHandleConnectorDataCommand(sl: string);
-var
- strCmdSaved, sr: string;
-begin
- strCmdSaved := sl;
-
- RSplitStr(sl, sl, sr);
-
- if (sl = CMD_TRANSMITTING) then
- begin
- Transmittable := TRUE;
- exit;
- end;
-
- if (not Transmittable) then
- begin
- inherited RHandleConnectorDataCommand(strCmdSaved);
- exit;
- end;
-
- if (sl = CMD_WELCOME) then
- begin
- if (Assigned(ChessBoard)) then
- ChessBoard.InitPosition;
- RSetConnectionOccured;
- end
- else if (sl = CMD_NICK_ID) then
- begin
- // sr ::= <PlayerNickId><OpponentNickId><OpponentNick>
- PlayerNick := OpponentNick; // change for transmittion
-
- RSplitStr(sr, sl, sr);
- PlayerNickId := sl;
-
- RSplitStr(sr, sl, sr);
- OpponentNickId := sl;
-
- RSplitStr(sr, sl, sr);
- OpponentNick := sl;
-
- ChessBoard.Caption := RGetGameName;
- end
- else if (sl = CMD_GAME_CONTEXT) then
- begin
- RSetGameContext(sr);
- end
- else
- inherited RHandleConnectorDataCommand(strCmdSaved);
-end;
-
-////////////////////////////////////////////////////////////////////////////////
-// TManagerMIFactory
-
-constructor TManagerMIFactory.Create(Connector: TConnector; AErrorDuringPluginStart: TProcedure);
-begin
- inherited Create;
- m_Connector := Connector;
- FErrorDuringPluginStart := AErrorDuringPluginStart;
- AddToPlugins(self);
-end;
-
-
-destructor TManagerMIFactory.Destroy;
-begin
- RemoveFromPlugins(self);
- m_Dialogs.Free;
- inherited;
-end;
-
-
-procedure TManagerMIFactory.Start;
-begin
- if (FCanStartTransmitting) then
- begin
- Dialogs.MessageDlg(TLocalizer.Instance.GetMessage(28), mtCustom,
- [mbYes, mbNo], mfTransmitting); // You are currently playing some games. Do you want to start broadcasting?
- m_bOwnExceptionHandler := TRUE;
- exit;
- end;
-
- FStartGaming;
-end;
-
-
-function TManagerMIFactory.FCanStartTransmitting: boolean;
-var
- i: integer;
- GM: TGamingManagerMI;
-begin
- Result := FALSE;
-
- if (not (Assigned(g_lstGamingManagers) and Assigned(m_Connector))) then
- exit;
-
- for i := 0 to g_lstGamingManagers.Count - 1 do
- begin
- GM := g_lstGamingManagers[i];
- Result := (Assigned(GM) and (not GM.Transmittable) and
- (m_Connector.ContactID <> GM.Connector.ContactID) and
- (not GM.FContainsContactIDInTransmitters(m_Connector.ContactID)));
- if (Result) then
- exit;
- end; // for
-end;
-
-
-procedure TManagerMIFactory.FStartGaming;
-begin
- m_Manager := TGamingManagerMI.Create(m_Connector);
- m_Connector.SetPlugin(m_Manager);
- m_Connector := nil;
-
- try
- m_Manager.Start;
- Pointer(m_Manager) := nil;
- except
- if (m_bOwnExceptionHandler) then
- FHandleStartException
- else
- raise;
- end;
-
- Stop;
-end;
-
-
-procedure TManagerMIFactory.FHandleStartException;
-begin
- if (Assigned(FErrorDuringPluginStart)) then
- FErrorDuringPluginStart;
-end;
-
-
-procedure TManagerMIFactory.FStartTransmitting(ManagerForTransmition: TManager);
-begin
- m_Manager := TTransmittingManagerMI.Create(m_Connector, ManagerForTransmition as TGamingManagerMI);
- m_Connector.SetPlugin(m_Manager);
- m_Connector := nil;
-
- try
- m_Manager.Start;
- Pointer(m_Manager) := nil;
- except
- if (m_bOwnExceptionHandler) then
- FHandleStartException
- else
- raise;
- end;
-
- Stop;
-end;
-
-
-procedure TManagerMIFactory.FStartTransmitting;
-var
- strlGames: TStringList;
- i: integer;
- GM: TGamingManagerMI;
- ATransmitGameSelectionForm: TTransmitGameSelectionForm;
-begin
- if (not Assigned(g_lstGamingManagers)) then
- begin
- Stop; // Don't do anything
- exit;
- end;
-
- strlGames := TStringList.Create;
- try
- for i := 0 to g_lstGamingManagers.Count - 1 do
- begin
- GM := g_lstGamingManagers[i];
- if (Assigned(GM) and (not GM.Transmittable) and
- (m_Connector.ContactID <> GM.Connector.ContactID) and
- (not GM.FContainsContactIDInTransmitters(m_Connector.ContactID))) then
- strlGames.AddObject(GM.RGetGameName, GM);
- end;
-
- if (strlGames.Count > 1) then
- begin
- ATransmitGameSelectionForm :=
- Dialogs.CreateDialog(TTransmitGameSelectionForm) as TTransmitGameSelectionForm;
- ATransmitGameSelectionForm.SetGames(strlGames);
- ATransmitGameSelectionForm.Show;
- end
- else if (strlGames.Count = 1) then
- begin
- GM := strlGames.Objects[0] as TGamingManagerMI;
- FStartTransmitting(GM);
- end
- else // = 0
- Stop;
-
- finally
- strlGames.Free;
- end;
-end;
-
-
-procedure TManagerMIFactory.Stop;
-begin
- if (Assigned(m_Connector)) then
- begin
- m_Connector.SetPlugin(nil);
- m_Connector.Free;
- end;
- if (Assigned(m_Manager)) then
- begin
- m_Manager.Stop;
- Pointer(m_Manager) := nil;
- end;
- Free;
-end;
-
-
-procedure TManagerMIFactory.ConnectorHandler(ce: TConnectorEvent;
- d1: pointer = nil; d2: pointer = nil);
-begin
-end;
-
-
-function TManagerMIFactory.FGetDialogs: TDialogs;
-begin
- if (not Assigned(m_Dialogs)) then
- m_Dialogs := TDialogs.Create(nil, FDialogsHandler);
- Result := m_Dialogs;
-end;
-
-
-procedure TManagerMIFactory.FDialogsHandler(modSender: TModalForm; msgDlgID: TModalFormID);
-var
- modRes: TModalResult;
- GM: TGamingManagerMI;
-begin
- modRes := modSender.ModalResult;
- case msgDlgID of
- mfNone:
- ;
- mfTransmitting:
- begin
- if (modRes = mrYes) then
- FStartTransmitting
- else // mrNo
- FStartGaming;
- end;
-
- mfTransmitGame:
- begin
- if (modRes = mrOk) then
- begin
- with modSender as TTransmitGameSelectionForm do
- begin
- GM := GetSelected as TGamingManagerMI;
- FStartTransmitting(GM);
- end;
- end
- else
- Stop;
- end;
- end; // case
-end;
-
-////////////////////////////////////////////////////////////////////////////////
-// TTransmittingManagerMI
-
-constructor TTransmittingManagerMI.Create(Connector: TConnector; GamingManager: TGamingManagerMI);
-begin
- inherited Create(Connector);
- m_GamingManager := GamingManager;
-end;
-
-procedure TTransmittingManagerMI.Start;
-begin
- if (not Connector.Opened) then
- begin
- if (not Connector.Open(FALSE)) then
- raise ETransmittingManagerMI.Create('ERROR: Cannot open connector!');
- end;
- m_GamingManager.FAddTransmitter(self);
-end;
-
-
-procedure TTransmittingManagerMI.ROnDestroy;
-
- procedure NRemoveFromTransmittings;
- var
- i: integer;
- GM: TGamingManagerMI;
- begin
- if (not Assigned(g_lstGamingManagers)) then
- exit;
-
- for i := 0 to g_lstGamingManagers.Count - 1 do
- begin
- GM := g_lstGamingManagers[i];
- if (Assigned(GM) and GM.FRemoveTransmitter(self)) then
- break;
- end;
- end;
-
-begin // TTransmittingManagerMI.ROnDestroy
- NRemoveFromTransmittings;
- inherited ROnDestroy;
-end;
-
-
-procedure TTransmittingManagerMI.ROnCreate;
-begin
-// PlayerNick := m_GamingManager.PlayerNick;
-// OpponentNick := m_GamingManager.OpponentNick;
-// OpponentId := m_GamingManager.OpponentId;
-end;
-
-
-procedure TTransmittingManagerMI.ConnectorHandler(e: TConnectorEvent; d1: pointer = nil; d2: pointer = nil);
-begin
- case e of
- ceConnected:
- begin
- RSendData(CMD_VERSION + ' ' + IntToStr(CHESS4NET_VERSION));
- RSendData(CMD_TRANSMITTING);
- end;
-
- ceError, ceDisconnected:
- begin
- Connector.Close;
- Stop;
- end;
-
- else
- inherited ConnectorHandler(e, d1, d2);
- end; // case
-end;
-
-
-procedure TTransmittingManagerMI.RHandleConnectorDataCommand(sl: string);
-var
- sr: string;
- lwOpponentClientVersion: Longword;
-begin
- RSplitStr(sl, sl, sr);
- if (sl = CMD_VERSION) then
- begin
- RSplitStr(sr, sl, sr);
- lwOpponentClientVersion := StrToIntDef(sl, CHESS4NET_VERSION);
-
- if (lwOpponentClientVersion < 201000) then
- begin
- RSendData(CMD_GOODBYE);
- RReleaseWithConnectorGracefully;
- end;
-
- RSetOpponentClientVersion(lwOpponentClientVersion);
- end
- else if (sl = CMD_TRANSMITTING) then
- begin
- RSendData(CMD_GOODBYE); // TODO: some message or output to log
- RReleaseWithConnectorGracefully;
- end
- else if (sl = CMD_GOODBYE) then
- begin
- Stop;
- end
- else if (sl = CMD_WELCOME) then
- begin
- RSendData(CMD_WELCOME);
- m_bReady := TRUE;
- m_GamingManager.FSetGameContextToTransmitter(self);
- end;
-end;
-
-
-////////////////////////////////////////////////////////////////////////////////
-// TManagerMI
-
-constructor TManagerMI.Create(Connector: TConnector);
-begin
- self.Connector := Connector;
- RCreate;
- AddToPlugins(self);
-end;
-
-
-destructor TManagerMI.Destroy;
-begin
- RemoveFromPlugins(self);
- inherited;
-end;
-
-
-procedure TManagerMI.Start;
-begin
- Assert(FALSE);
-end;
-
-
-procedure TManagerMI.Stop;
-begin
- Release;
-end;
-
-
-procedure TManagerMI.RSendData(const cmd: string);
-begin
- Connector.SendData(cmd);
-end;
-
-
-procedure TManagerMI.ROnDestroy;
-begin
- if (Assigned(Connector)) then
- begin
- Connector.Free;
- Connector := nil;
- end;
-
- inherited ROnDestroy;
-end;
-
-
-procedure TManagerMI.ConnectorHandler(e: TConnectorEvent; d1: pointer = nil; d2: pointer = nil);
-var
- iData: integer;
- strCmd: string;
- strLeft: string;
-begin
- case e of
- ceData:
- begin
- Assert(High(TStringDynArray(d1)) >= 0);
- iData := 0;
- repeat
- strLeft := TStringDynArray(d1)[iData];
- inc(iData);
- strCmd := IfThen((iData <= High(TStringDynArray(d1))), '*');
-
- RHandleConnectorDataCommand(strLeft);
- until (strCmd = '');
- end; // ceData
-
- else
- inherited ConnectorHandler(e, d1, d2);
- end; // case
-end;
-
-
-procedure TManagerMI.RSetOpponentClientVersion(lwVersion: LongWord);
-begin
- inherited RSetOpponentClientVersion(lwVersion);
-
- if (lwVersion >= 200901) then
- Connector.MultiSession := TRUE;
-end;
-
-
-initialization
-
-finalization
- FreeAndNil(g_lstGamingManagers);
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_addcontact.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_addcontact.inc
deleted file mode 100644
index ad54b3b6d8..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_addcontact.inc
+++ /dev/null
@@ -1,54 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_ADDCONTACT}
-{$DEFINE M_ADDCONTACT}
-
-const
-
- HANDLE_SEARCHRESULT = 0;
- HANDLE_EVENT = 1;
- HANDLE_CONTACT = 2;
-
-type
-
- PADDCONTACTSTRUCT = ^TADDCONTACTSTRUCT;
- TADDCONTACTSTRUCT = record
- handleType: Integer;
- handle: THandle; // HDBEVENT, MCONTACT, SearchResult
- szProto: PChar; // used by search result only
- psr: Pointer; // @PROTOSEARCHRESULT
- end;
-
-const
-
- {
- wParam : (HWND) Parent window of the dialog that will be presented
- lParam : Pointer to an initialised TADDCONTACTSTRUCT
- Affect : Open's the add contact dialog
- Version: 0.1.2.2+
- }
- MS_ADDCONTACT_SHOW = 'AddContact/Show';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_api.pas b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_api.pas
deleted file mode 100644
index 412d33e517..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_api.pas
+++ /dev/null
@@ -1,75 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFDEF FPC}
- {$PACKRECORDS C}
- {$MODE Delphi}
-{$ENDIF}
-
-unit m_api;
-
-interface
-
-uses
-
- m_globaldefs, windows;
-
- {$include m_plugins.inc}
- {$include m_system.inc}
- {$include m_database.inc}
- {$include m_findadd.inc}
- {$include m_awaymsg.inc}
- {$include m_email.inc}
- {$include m_history.inc}
- {$include m_message.inc}
- {$include m_url.inc}
- {$include newpluginapi.inc}
- {$include m_clui.inc}
- {$include m_ignore.inc}
- {$include m_skin.inc}
- {$include m_file.inc}
- {$include m_netlib.inc}
- {$include m_langpack.inc}
- {$include m_clist.inc}
- {$include m_clc.inc}
- {$include m_userinfo.inc}
- {$include m_protosvc.inc}
- {$include m_options.inc}
- {$include m_icq.inc}
- {$include m_protocols.inc}
- {$include m_protomod.inc}
- {$include m_utils.inc}
- {$include m_addcontact.inc}
- {$include statusmodes.inc}
- {$include m_contacts.inc}
- {$define M_API_UNIT}
- {$include m_helpers.inc}
-
-implementation
-
- {$undef M_API_UNIT}
- {$include m_helpers.inc}
-
-end.
-
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_awaymsg.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_awaymsg.inc
deleted file mode 100644
index c14b024b04..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_awaymsg.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_AWAYMSG}
-{$DEFINE M_AWAYMSG}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Show the away/na/etc message for a contact
- Returns: 0 on success, non zero on failure, see notes
- notes : returns without waiting for the message to be shown.
- version: v0.1.0.1+
- }
- MS_AWAYMSG_SHOWAWAYMSG = 'SRAway/GetMessage';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clc.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clc.inc
deleted file mode 100644
index 743d8370aa..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clc.inc
+++ /dev/null
@@ -1,284 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_CLC}
-{$DEFINE M_CLC}
-
-const
-
- CLISTCONTROL_CLASS = 'CListControl';
-
- // styles
-
- CLS_MANUALUPDATE = $0001; // todo
- CLS_SHOWHIDDEN = $0002;
- CLS_HIDEOFFLINE = $0004; // hides all offline users
- CLS_CHECKBOXES = $0008;
- CLS_MULTICOLUMN = $0010; // not true multi-column, just for ignore/vis options
- CLS_HIDEEMPTYGROUPS = $0020; // note: this flag will be spontaneously removed if the 'new subgroup' menu item is clicked, for obvious reasons
- CLS_USEGROUPS = $0040;
- CLS_NOHIDEOFFLINE = $0080; // overrides CLS_HIDEOFFLINE and the per-group hideoffline setting
- CLS_GREYALTERNATE = $0100; // make every other line slightly grey
- CLS_GROUPCHECKBOXES = $0200; // put checkboxes on groups too (managed by CLC)
-
- CLS_EX_DISABLEDRAGDROP = $00000001;
- CLS_EX_EDITLABELS = $00000002;
- CLS_EX_SHOWSELALWAYS = $00000004;
- CLS_EX_TRACKSELECT = $00000008;
- CLS_EX_SHOWGROUPCOUNTS = $00000010;
- CLS_EX_DIVIDERONOFF = $00000020;
- CLS_EX_HIDECOUNTSWHENEMPTY = $00000040;
- CLS_EX_NOTRANSLUCENTSEL = $00000080;
- CLS_EX_LINEWITHGROUPS = $00000100;
- CLS_EX_QUICKSEARCHVISONLY = $00000200;
- CLS_EX_SORTGROUPSALPHA = $00000400;
- CLS_EX_NOSMOOTHSCROLLING = $00000800;
-
- CLM_FIRST = $1000; // this is the same as LVM_FIRST
- CLM_LAST = $1100;
-
-// messages, compare with equivalent TVM_* in the WINAPI
-
- CLM_ADDCONTACT = (CLM_FIRST+0); // wParam=hContact
- CLM_ADDGROUP = (CLM_FIRST+1); // wParam=hGroup
- CLM_AUTOREBUILD = (CLM_FIRST+2);
- CLM_DELETEITEM = (CLM_FIRST+3); // wParam=hItem
- CLM_EDITLABEL = (CLM_FIRST+4); // wParam=hItem
- CLM_ENDEDITLABELNOW = (CLM_FIRST+5); // wParam=cancel, 0 to save
- CLM_ENSUREVISIBLE = (CLM_FIRST+6); // wParam=hItem, lParam=partialOk
-
- CLE_TOGGLE = -1;
- CLE_COLLAPSE = 0;
- CLE_EXPAND = 1;
- CLE_INVALID = $FFFF;
-
- CLM_EXPAND = (CLM_FIRST+7); // wParam=hItem, lParam=CLE_
- CLM_FINDCONTACT = (CLM_FIRST+8); // wParam=hContact, returns an hItem
- CLM_FINDGROUP = (CLM_FIRST+9); // wParam=hGroup, returns an hItem
- CLM_GETBKCOLOR = (CLM_FIRST+10); // returns a COLORREF
- CLM_GETCHECKMARK = (CLM_FIRST+11); // wParam=hItem, returns 1 or 0
- CLM_GETCOUNT = (CLM_FIRST+12); // returns the total number of items
-
- CLM_GETEDITCONTROL = (CLM_FIRST+13); // returns the HWND, or NULL
- CLM_GETEXPAND = (CLM_FIRST+14); // wParam=hItem, returns a CLE_, CLE_INVALID if not a group
- CLM_GETEXTRACOLUMNS = (CLM_FIRST+15); // returns number of extra columns
- CLM_GETEXTRAIMAGE = (CLM_FIRST+16); // wParam=hItem, lParam=MAKELPARAM(iColumn (0 based),0), returns iImage or $FF
- CLM_GETEXTRAIMAGELIST = (CLM_FIRST+17); // returns HIMAGELIST
- CLM_GETFONT = (CLM_FIRST+18); // wParam=fontId, see clm_setfont. returns hFont.
- CLM_GETINDENT = (CLM_FIRST+19); // wParam=new group indent
- CLM_GETISEARCHSTRING = (CLM_FIRST+20); // lParam=(char*)pszStr, max 120 bytes, returns number of chars in string
- CLM_GETITEMTEXT = (CLM_FIRST+21); // wParam=hItem, lParam=(char*)pszStr, max 120 bytes
- CLM_GETSCROLLTIME = (CLM_FIRST+22); // returns time in ms
- CLM_GETSELECTION = (CLM_FIRST+23); // returns hItem
-
- CLCHT_ABOVE = $0001; // above client area
- CLCHT_BELOW = $0002; // below client area
- CLCHT_TOLEFT = $0004; // left of client area
- CLCHT_TORIGHT = $0008; // right of client area
- CLCHT_NOWHERE = $0010; // in client area, not on an item
- CLCHT_ONITEMICON = $0020;
- CLCHT_ONITEMCHECK = $0040;
- CLCHT_ONITEMLABEL = $0080;
- CLCHT_ONITEMINDENT = $0100; // to the left of an item icon
- CLCHT_ONITEMEXTRA = $0200; // on an extra icon, HIBYTE(HIWORD()) says which
- CLCHT_ONITEM = $03E0;
- CLCHT_INLEFTMARGIN = $0400;
- CLCHT_BELOWITEMS = $0800; // in client area but below last item
-
- CLM_HITTEST = (CLM_FIRST+25); // lParam=MAKELPARAM(x,y) (relative to control), wParam=(PDWORD)&hitTest (see encoding of HitTest() in clc.h, can be NULL) returns hItem or NULL
- CLM_SELECTITEM = (CLM_FIRST+26); // wParam=hItem
-
- CLB_TOPLEFT = 0;
- CLB_STRETCHV = 1;
- CLB_STRETCHH = 2; // and tile vertically
- CLB_STRETCH = 3;
-
- CLBM_TYPE = $00FF;
- CLBF_TILEH = $1000;
- CLBF_TILEV = $2000;
- CLBF_PROPORTIONAL = $4000;
- CLBF_SCROLL = $8000;
-
- CLM_SETBKBITMAP = (CLM_FIRST+27); // wParam=mode, lParam=hBitmap (don't delete it), NULL for none
- CLM_SETBKCOLOR = (CLM_FIRST+28); // wParam=a COLORREF, default is GetSysColor(COLOR_3DFACE)
- CLM_SETCHECKMARK = (CLM_FIRST+29); // wParam=hItem, lParam=1 or 0
- CLM_SETEXTRACOLUMNS = (CLM_FIRST+30); // wParam=number of extra columns (zero to MAXEXTRACOLUMNS from clc.h, currently 16)
- CLM_SETEXTRAIMAGE = (CLM_FIRST+31); // wParam=hItem, lParam=MAKELPARAM(iColumn (0 based),iImage). iImage=$FF is a blank
- CLM_SETEXTRAIMAGELIST = (CLM_FIRST+32); // lParam=HIMAGELIST
-
- FONTID_CONTACTS = 0;
- FONTID_INVIS = 1;
- FONTID_OFFLINE = 2;
- FONTID_NOTONLIST = 3;
- FONTID_GROUPS = 4;
- FONTID_GROUPCOUNTS = 5;
- FONTID_DIVIDERS = 6;
- FONTID_OFFINVIS = 7;
- FONTID_MAX = 7;
-
- CLM_SETFONT = (CLM_FIRST+33); // wParam=hFont, lParam=MAKELPARAM(fRedraw,fontId)
- CLM_SETINDENT = (CLM_FIRST+34); // wParam=new indent, default is 3 pixels
- CLM_SETITEMTEXT = (CLM_FIRST+35); // wParam=hItem, lParam=(char*)pszNewText
- CLM_SETSCROLLTIME = (CLM_FIRST+36); // wParam=time in ms, default 200
- CLM_SETHIDEEMPTYGROUPS = (CLM_FIRST+38); // wParam=TRUE/FALSE
-
- GREYF_UNFOCUS = $80000000;
- MODEF_OFFLINE = $40000000;
-
- // and use the PF2_ #defines from m_protosvc.inc
- CLM_SETGREYOUTFLAGS = (CLM_FIRST+39); // wParam=new flags
- CLM_GETHIDEOFFLINEROOT = (CLM_FIRST+40); // returns TRUE/FALSE
- CLM_SETHIDEOFFLINEROOT = (CLM_FIRST+41); // wParam=TRUE/FALSE
- CLM_SETUSEGROUPS = (CLM_FIRST+42); // wParam=TRUE/FALSE
- CLM_SETOFFLINEMODES = (CLM_FIRST+43); // for 'hide offline', wParam=PF2_ flags and MODEF_OFFLINE
- CLM_GETEXSTYLE = (CLM_FIRST+44); // returns CLS_EX_ flags
- CLM_SETEXSTYLE = (CLM_FIRST+45); // wParam=CLS_EX_ flags
- CLM_GETLEFTMARGIN = (CLM_FIRST+46); // returns count of pixels
- CLM_SETLEFTMARGIN = (CLM_FIRST+47); // wParam=pixels
- // the order of info items is never changed, so make sure you add them in the
- // order you want them to remain
- CLM_ADDINFOITEM = (CLM_FIRST+48); // lParam=&TCLCINFOITEM, returns hItem
- CLM_GETITEMTYPE = (CLM_FIRST+49); // wParam=hItem, returns a CLCIT_
- CLM_GETNEXTITEM = (CLM_FIRST+50); // wParam=flag, lParam=hItem, returns an hItem
- CLM_GETTEXTCOLOR = (CLM_FIRST+51); // wParam=FONTID_, returns COLORREF
- CLM_SETTEXTCOLOR = (CLM_FIRST+52); // wParam=FONTID_, lParam=COLORREF
-
- CLCIIF_BELOWGROUPS = 1; // put it between groups and contacts, default is at top
- CLCIIF_BELOWCONTACTS = 2; // put it at the bottom
- CLCIIF_CHECKBOX = $40; // give this item a check box
- CLCIIF_GROUPFONT = $80; // draw the item using FONTID_GROUPS
-
- CLCIT_INVALID = -1;
- CLCIT_GROUP = 0;
- CLCIT_CONTACT = 1;
- CLCIT_DIVIDER = 2;
- CLCIT_INFO = 3;
-
- CLGN_ROOT = 0;
- CLGN_CHILD = 1;
- CLGN_PARENT = 2;
- CLGN_NEXT = 3;
- CLGN_PREVIOUS = 4;
- CLGN_NEXTCONTACT = 5;
- CLGN_PREVIOUSCONTACT = 6;
- CLGN_NEXTGROUP = 7;
- CLGN_PREVIOUSGROUP = 8;
-
- CLNF_ISGROUP = 1;
- CLNF_ISINFO = 2;
-
- CLN_FIRST = (0-100);
- CLN_EXPANDED = (CLN_FIRST-0); // hItem=hGroup, action=CLE_*
- CLN_LISTREBUILT = (CLN_FIRST-1);
- CLN_ITEMCHECKED = (CLN_FIRST-2); // todo // hItem,action,flags valid
- CLN_DRAGGING = (CLN_FIRST-3); // hItem,pt,flags valid. only sent when cursor outside window, return nonzero if processed
- CLN_DROPPED = (CLN_FIRST-4); // hItem,pt,flags valid. only sent when cursor outside window, return nonzero if processed
- CLN_LISTSIZECHANGE = (CLN_FIRST-5); // pt.y valid. the vertical height of the visible items in the list has changed.
- CLN_OPTIONSCHANGED = (CLN_FIRST-6); // nothing valid. If you set some extended options they have been overwritten and should be re-set
- CLN_DRAGSTOP = (CLN_FIRST-7); // hItem,flags valid. sent when cursor goes back in to the window having been outside, return nonzero if processed
- CLN_NEWCONTACT = (CLN_FIRST-8); // hItem,flags valid. sent when a new contact is added without a full list rebuild
- CLN_CONTACTMOVED = (CLN_FIRST-9); // hItem,flags valid. sent when contact is moved without a full list rebuild
- CLN_CHECKCHANGED = (CLN_FIRST-10); // hItem,flags valid. sent when any check mark is changed, but only for one change if there are many
-
-type
-
- PCLCINFOITEM = ^TCLCINFOITEM;
- TCLCINFOITEM = record
- cbSize: int;
- pszText: PChar;
- hParentGroup: THandle;
- flags: DWORD;
- hIcon: THandle; // todo
- end;
-
- PNMCLISTCONTROL = ^TNMCLISTCONTROL;
- TNMCLISTCONTROL = record
- hdr: TNMHDR; // depends on Windows.pas
- hItem: THandle;
- action: int;
- iColumn: int; // -1 if not on an extra column
- flags: DWORD;
- pt: TPoint; // depends on Windows.pas
- end;
-
- PCLCINFOTIP = ^TCLCINFOTIP;
- TCLCINFOTIP = record
- cbSize: int;
- isTreeFocused: int; // so the plugin can provide an option
- isGroup: int; // 0 if it's contact, 1 if it's a group
- hItem: THandle; // handle to group or contact
- ptCursor: TPoint;
- rcItem: TRect;
- end;
-
-const
-
- {
- wParam : 0
- lParam : Pointer to a TCLCINFOTIP structure
- Affect : An InfoTip for an item should be shown now, see notes
- Returns: [non zero] if you process this, because it makes no sense
- for more than one module to process this.
- Notes : It's upto the module where to put the InfoTip, Normally
- it's a few pixels below and to the right of the cursor.
- -
- This event is called after the mouse ehas been stationary over
- a contact for (by default) 200ms
- }
- ME_CLC_SHOWINFOTIP = 'CLC/ShowInfoTip';
-
- {
- wParam : 0
- lParam : Pointer to an initialised TCLCINFOTIP
- Affect : It's time to destroy an infotip, see notes
- Notes : Only cbSize, isGroup, hItem are set
- notes : This is sent when the mouse moves off a contact when ME_CLC_SHOWINFOTIP
- has previously been called.
- -
- If you don't want this behaviour, you should have grabbed the mouse
- capture yourself --
- }
- ME_CLC_HIDEINFOTIP = 'CLC/HideInfoTip';
-
- {
- wParam : new_time
- lParam : 0
- Affect : Set a new hover time before the info tip hooks are called, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : The value of this setting is applid to all current CLC windows
- and saved to b applied to all future windows, it is persistent.
- -
- Time is in milliseconds, default is 750ms
- }
- MS_CLC_SETINFOTIPHOVERTIME = 'CLC/SetInfoTipHoverTime';
-
- {
- wParam : 0
- lParam : 0
- Affect : get the hover time before the infotip hooks are called
- returns: the hover time in MS
- }
- MS_CLC_GETINFOTIPHOVERTIME = 'CLC/GetInfoTipHoverTime';
-
-{$ENDIF} \ No newline at end of file
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clist.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clist.inc
deleted file mode 100644
index ecf3e52bc7..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clist.inc
+++ /dev/null
@@ -1,641 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_CLIST}
-{$DEFINE M_CLIST}
-
-{$ifndef STATUSMODES}
- {$include statusmodes.inc}
-{$endif}
-
-const
-
- // for MS_CLIST_GETSTATUSMODEDESCRIPTION
-
- GSMDF_PREFIXONLINE = 1; // prefix "Online :" for online submodes, e.g. 'away'
-
- // for MS_CLIST_ADDMAINMENUITEM
-
- CMIF_GRAYED = 1;
- CMIF_CHECKED = 2;
- CMIF_HIDDEN = 4; // only works on contact menus
- CMIF_NOTOFFLINE = 8; // item won't appear for contacts that are offline
- CMIF_NOTONLINE = 16; // " online
- CMIF_NOTONLIST = 32; // item won't appear on standard contacts
- CMIF_NOTOFFLIST = 64; // item won't appear on contacts that have the 'NotOnList' setting
-
- // for MS_CLIST_MODIFYMENUITEM
-
- CMIM_NAME = $80000000;
- CMIM_FLAGS = $40000000;
- CMIM_ICON = $20000000;
- CMIM_HOTKEY = $10000000;
- CMIM_ALL = $F0000000;
-
- // for MS_CLIST_GETCONTACTDISPLAYNAME
-
- // will never return the user's custom name, even if that's the one to be displayed
- GCDNF_NOMYHANDLE = 1;
-
- // for MS_CLIST_ADDEVENT
-
- //flashes the icon even if the user is occupied, and puts the event
- // at the top of the queue
- CLEF_URGENT = 1;
- { icon will not flash forever, only a few times, e.g. online alert }
- CLEF_ONLYAFEW = 2;
-
- // for MS_CLIST_GETICONSIMAGELIST
-
- IMAGE_GROUPOPEN = 11;
- IMAGE_GROUPSHUT = 12;
-
- // for MS_CLIST_MENUPROCESSCOMMAND
-
- MPCF_CONTACTMENU = 1; // test commands from a contact menu
- MPCF_MAINMENU = 2; // test commands from the main menu
-
- // for MS_CLIST_GROUPGETNAME/2
-
- GROUPF_EXPANDED = $04;
- GROUPF_HIDEOFFLINE = $08;
-
- //
-
- SETTING_TOOLWINDOW_DEFAULT = 1;
- SETTING_SHOWMAINMENU_DEFAULT = 1;
- SETTING_SHOWCAPTION_DEFAULT = 1;
- SETTING_CLIENTDRAG_DEFAULT = 0;
- SETTING_ONTOP_DEFAULT = 1;
- SETTING_MIN2TRAY_DEFAULT = 1;
- SETTING_TRAY1CLICK_DEFAULT = 0;
- SETTING_HIDEOFFLINE_DEFAULT = 0;
- SETTING_HIDEEMPTYGROUPS_DEFAULT = 0;
- SETTING_USEGROUPS_DEFAULT = 1;
- SETTING_SORTBYSTATUS_DEFAULT = 0;
- SETTING_TRANSPARENT_DEFAULT = 0;
- SETTING_ALPHA_DEFAULT = 200;
- SETTING_AUTOALPHA_DEFAULT = 150;
- SETTING_CONFIRMDELETE_DEFAULT = 1;
- SETTING_AUTOHIDE_DEFAULT = 0;
- SETTING_HIDETIME_DEFAULT = 30;
- SETTING_CYCLETIME_DEFAULT = 4;
- SETTING_ALWAYSSTATUS_DEFAULT = 0;
- SETTING_ALWAYSMULTI_DEFAULT = 0;
- SETTING_TRAYICON_SINGLE = 0;
- SETTING_TRAYICON_CYCLE = 1;
- SETTING_TRAYICON_MULTI = 2;
- SETTING_TRAYICON_DEFAULT = SETTING_TRAYICON_SINGLE;
- SETTING_STATE_HIDDEN = 0;
- SETTING_STATE_MINIMIZED = 1;
- SETTING_STATE_NORMAL = 2;
-
-type
-
- PCLISTMENUITEM = ^TCLISTMENUITEM;
- TCLISTMENUITEM = record
- cbSize: int; // size in bytes of this structure
- pszName: PChar; // text of the menu item
- flags: DWORD;
- position: int; // approx position on the menu, lower numbers go nearer the top
- hIcon: THandle; // icon to put by the item, if this was *not* loaded from
- // a resource, you can delete it straight after the call
- pszService: PChar; // name of the service to call when the service is clicked
- pszPopupName: PChar;// name of the popup menu that this item is on, if this
- // is NULL the iteem is on the root of the menu
- popupPosition: int; // position of the popup menu on the root menu, ignored
- // if pszPopupName is NULL(0) or if the popup menu already exists
- hotKey: DWORD; // keyboard accelerator, same as lParam of WM_HOTKEY, 0 for none
- pszContactOwner: PChar; // contact menus only, the protocol module that owns
- // the contacts to which this to which this menu item
- // applies, NULL(0) if it applies to all contacts.
- // if it applies to multiple but not all protocols
- // add multiple menu items or use ME_CLIST_PREBUILDCONTACTMENU
- end;
-
- PCLISTDOUBLECLICKACTION = ^TCLISTDOUBLECLICKACTION;
- TCLISTDOUBLECLICKACTION = record
- cbSize: int;
- pszContactOwner: PChar; // name of the protocol owning the contact or NULL(0) for all
- flags: DWORD; // CMIF_NOT flags above
- pszService: PChar; // service to call on double click, is called with wParam=hContact, lParam=0
- end;
-
- PCLISTEVENT = ^TCLISTEVENT;
- TCLISTEVENT = record
- cbSize: int; // size in bytes
- hContact: THandle; // handle to the contact to put the icon by
- hIcon: THandle; // icon to flash!
- flags: DWORD;
- hDBEvent: THandle; // caller defined, but should be unique for hContact
- lParam: LPARAM;
- pszService: PChar; // name of service to call on activation
- pszTooltip: PChar; // short description of the event to display as a tooltip on the systray
- end;
-
-const
-
- {
- wParam : new_status
- lParam : 0
- Affect : Sent when the user acks to change their status, see notes
- Notes : Also sent due to a MS_CLIST_SETSTATUSMODE
- }
- ME_CLIST_STATUSMODECHANGE = 'CList/StatusModeChange';
-
- {
- wParam : new_status
- lParam : 0
- Affect : Force a change of status mode, see statusmodes.inc
- }
- MS_CLIST_SETSTATUSMODE = 'CList/SetStatusMode';
-
- {
- wParam : 0
- lParam : 0
- Affect : Get the current status mode, see notes
- Notes : This is the status, as set by the user, not any protocol specific status
- all protocol modules will attempt to conform to this setting at ALL times.
- }
- MS_CLIST_GETSTATUSMODE = 'CList/GetStatusMode';
-
- {
- wParam : status_mode
- lParam : flags
- Affect : Get a textual description of the given status mode
- Returns: pointer to a static buffer of the description of the given status mode
- or NULL(0) if the mode was unknown.
- Version: v0.1.0.1+
- }
- MS_CLIST_GETSTATUSMODEDESCRIPTION = 'CList/GetStatusModeDescription';
-
- {
- wParam : 0
- lParam : Pointer to a initalised TCLISTMENUITEM structure
- Affect : Add a new menu item to the main menu, see notes
- Returns: A handle to the new MENU item or NULL(0) on failure
- Notes : The given TCLISTMENUITEM.pszService in is called when the item
- get clicked with :
- -
- wParam = 0, lParam = hwndContactList
- }
- MS_CLIST_ADDMAINMENUITEM = 'CList/AddMainMenuItem';
-
- {
- wParam : 0
- lParam : Pointer to a initalised TCLISTMENUITEM structure
- Affect : Add a new item to the user contact menus, see notes
- Notes : exactly the same as MS_CLIST_ADDMAINMENUITEM except when an item
- is selected, the service gets called with wParam=hContact,
- pszContactOwner is obeyed.
- -
- Popup menus are not supported, pszPopupName and popupPosition
- are ignored. If CTRL is held down when right clicking the menu
- position numbers will be displayed in brackets afterr the menu item
- text, this only works in debug builds!
- }
- MS_CLIST_ADDCONTACTMENUITEM = 'CList/AddContactMenuItem';
-
- {
- wParam : HMENUITEM
- lParam : Pointer to a initalised TCLISTMENUITEM
- Affect : Modify an existing menu item, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : hMenuItem will have been returned by MS_CLIST_ADD[MAIN]MENUITEM
- TCLISTMENUITEM.flags should contain CMIM_* constants (see above)
- to mark which fields should be updated, if it's not present, they
- can't be updated -- if flags do not exist for a field it can not
- be updated.
- Version: v0.1.0.1+
- }
- MS_CLIST_MODIFYMENUITEM = 'CList/ModifyMenuItem';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : the context menu for a contact is about to be built, see notes
- Notes : modules should use this to change menu items that are specific
- to the contact that has them
- Version: v0.1.0.1+
- }
- ME_CLIST_PREBUILDCONTACTMENU = 'CList/PreBuildContactMenu';
-
- {
- wParam : 0
- lParam : Pointer to a initalised TCLISTDOUBLECLICKACTION structure
- Affect : Sets the service to call when a contact is double-clicked, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : in case of conflicts, the first module to have registered
- will get the double click, no others will, this service
- will return success even for duplicates
- -
- This service was dropped from development during 0.3.0.0, it is no
- longer supported, see ME_CLIST_DOUBLECLICKED
- Version: 0.1.2.2+, 0.2.0+ ONLY (not 3.0a)
- }
- MS_CLIST_SETDOUBLECLICKACTION = 'CList/SetDoubleClickAction';
-
- {
- wParam : MCONTACT
- lParam : <none>
- Affect : Register with this event to be notified of a double click on the CList
- against a MCONTACT, you will not be notified if there is a pending CList event
- that the double click clears, (i.e. flashing icon is presented to be clicked)
- Version: 0.3.0.0
- }
- ME_CLIST_DOUBLECLICKED = 'CList/DoubleClicked';
-
- {
- wParam : MCONTACT
- lParam : flags
- Affect : Gets the string that the contact list will use to represent a contact
- Returns: Always a pointer
- Notes : Returns a pointer to the name, will always succeed, even if it needs
- to return "(Unknown Contact)"
- -
- this pointer is a statically allocated buffer which will
- be overwritten on every call to this service, callers should make
- sure that they copy the information before they call it again
- Version: v0.1.2.0+, 0.2.0+ ONLY (0.3a supports the contacts module)
- }
- MS_CLIST_GETCONTACTDISPLAYNAME = 'CList/GetContactDisplayName';
-
- {
- wParam : 0
- lParam : Pointer to a TCLISTEVENT
- Affect : Add's an event to the list
- Notes : The service will flash TCLISTEVENT.hIcon, next to the
- contact, TCLISTEVENT.hContact
- -
- pszService is called is called wParam=hwndContactList,
- lParam=pointer to a TCLISTEVENT.
- -
- the TCLISTEVENT data is invalidated after this service returns
- so copy anything from it if required.
- -
- TCLISTEVENT.pszService will also be called if the user
- double clicks on the icon, at which point it will be removed
- from the contact lists queue automatically.
- -
- TCLISTEVENT.hContact and TCLISTEVENT.hDBEvent should be unique.
- }
- MS_CLIST_ADDEVENT = 'CList/AddEvent';
-
- {
- wParam : MCONTACT
- lParam : HDBEVENT
- Affect : Remove an event from the contact list queue
- Returns: 0 on success, [non zero] on failure
- }
- MS_CLIST_REMOVEEVENT = 'Clist/RemoveEvent';
-
- {
- wParam : MCONTACT
- lParam : iEvent
- Affect : Get the details of an event in the queue, see notes
- Returns: A CLISTEVENT* or NULL(0) on failure
- Notes : Returns the iEvent'1st/2nd/3rd/nth elemented queried,
- e.g. iEvent=0 will get the event that will be returned if the
- user double clicks on that MCONTACT
- -
- Use MCONTACT=NULL, iEvent=0 for example to get the event
- the user will get if they double click on the tray.
- Version: v0.1.2.1+
- }
- MS_CLIST_GETEVENT = 'CList/GetEvent';
-
- {
- wParam : ControlID
- lParam : Pointer to MEASUREITEMSTRUCT struct
- Affect : Process a WM_MEASUREITEM message for user context menus, see notes
- Notes : just because wParam, lParam is defined here, only pass them
- opaquely to this service, as is.
- -
- This is just to draw icons, if it is not called, the icons
- will not be drawn
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUMEASUREITEM = 'CList/MenuMeasureItem';
-
- {
- wParam :
- lParam :
- Affect : Process a WM_DRAWITEM message for user context menus,
- wParam, lParam should be passed from such message handler.
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUDRAWITEM = 'CList/MenuDrawItem';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Built the context menu for a specific contact
- Returns: A HMENU handle identifying the menu, thhis should be DestroyMenu()ed
- when done.
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUBUILDCONTACT = 'CList/MenuBuildContact';
-
- {
- wParam : 0
- lParam : 0
- Affect : Get the image list handle with all the useful icons in it
- Version: v0.1.1.0+
- }
- MS_CLIST_GETICONSIMAGELIST = 'CList/GetIconsImageList';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Get the icon that should be associated with a contact
- Returns: an index into the contact list imagelist, if the icon
- is a flashing icon, this service won't return information about it
- see below
- Version: v0.1.2.0+
- }
- MS_CLIST_GETCONTACTICON = 'CList/GetContactIcon';
-
- {
- wParam : MCONTACT
- lParam : ICON_ID
- Affect : The icon of a contact in the contact list has changed,
- ICON_ID is an index to what image has changed
- Version: v0.1.2.1+
- }
- ME_CLIST_CONTACTICONCHANGED = 'CList/ContactIconChanged';
-
- // ideally only used by a CLIST UI module
-
- {
- wParam : 0
- lParam : 0
- Affect : Get the handle to Miranda's main menu
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUGETMAIN = 'CList/MenuGetMain';
-
- {
- wParam : 0
- lParam : 0
- Affect : Get a handle to Miranda's status menu
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUGETSTATUS = 'CList/MenuGetStatus';
-
- {
- wParam : MAKEWPARAM(LOWORD(wParam of WM_COMMAND),flags)
- lParam : MCONTACT
- Affect : Process a mennu selection from a menu, see notes
- Returns: True if it processed the command, False otherwise
- notes : hContact is the currently selected contact, it is not used
- if this is a main menu command, if this is NULL then the command
- is a contact menu one, the command is ignored
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUPROCESSCOMMAND = 'CList/MenuProcessCommand';
-
- {
- wParam : virtual key code
- lParam : MPCF_* flags
- Affect : Process a menu hotkey, see notes
- Returns: True if it processed the command, False otherwise
- Notes : this should be called in WM_KEYDOWN
- Version: v0.1.1.0+
- }
- MS_CLIST_MENUPROCESSHOTKEY = 'CList/MenuProcessHotkey';
-
- {
- wParam : Pointer to a MSG structurer
- lParam : Pointer to an LRESULT
- Affect : Process all the messages required for docking, see notes
- Returns: True if the message should NOT be processed anymore, False otherwise
- Notes : only msg.hwnd, msg.message, msg.wParam and msg.lParam are used
- your WndProc should return the lResult if AND only IF, TRUE is returned
- Version: v0.1.1.0+
- }
- MS_CLIST_DOCKINGPROCESSMESSAGE = 'CList/DockingProcessMessage';
-
- {
- wParam : 0
- lParam : 0
- Affect : Determines wheter the contact list docked
- Returns: pnon zero] if the contact list is docked, or 0 if it's not
- Version: v0.1.1.0+
- }
- MS_CLIST_DOCKINGISDOCKED = 'CList/DockingIsDocked';
-
- {
- wParam : Pointer to a TMSG
- lParam : Pointer to an LRESULT
- Affect : Process all the messages required for the tray icon, see notes
- Returns: TRUE if the message should not be processed anymore, False otherwise
- Notes : Only msg.hwnd, msg.message, msg.wparam and msg.lParam are used
- your WndProc should return LRESULT if and ONLY if TRUE is returned
- Version: v0.1.1.0+
- }
- MS_CLIST_TRAYICONPROCESSMESSAGE = 'CList/TrayIconProcessMessage';
-
- {
- wParam : Pointer to TMSG
- lParam : Pointer to an LRESULT
- Affect : Process all the messages required for hotkeys, see notes
- Returns: True if the message should not be processed anymore or False otherwise
- Notes : only msg.hwnd, msg.message, msg.wParam, msg.lParam are used
- Version: v0.1.1.0+
- }
- MS_CLIST_HOTKEYSPROCESSMESSAGE = 'CList/HotkeysProcessMessage';
-
- {
- wParam : 0
- lParam : 0
- Affect : Toggles the show/hide status of the contact list
- Returns: 0 on success, [non zero] on failure
- Version: v0.1.1.0+
- }
- MS_CLIST_SHOWHIDE = 'CList/ShowHide';
-
- {
- wParam : 0
- lParam : 0
- Affect : temporarily disable the autohide feature, see notes
- Notes : this service will restart the auto hide timer, so if you need
- to keep the window visible you'll have to bee getting user input
- or calling this service each time
- Version: v0.1.2.1+
- }
- MS_CLIST_PAUSEAUTOHIDE = 'CList/PauseAutoHide';
-
- {
- wParam : HPARENTGROUP
- lParam : 0
- Affect : Create a new group and calls CLUI to display it, see notes
- Returns: A handle to the new group.
- Notes : If HPARENTGROUP is NULL(0) it will create a group at the root.
- Version: v0.1.1.0+
- }
- MS_CLIST_GROUPCREATE = 'CList/GroupCreate';
-
- {
- wParam : HGROUP
- lParam : 0
- Affect : Delete a group and call CLUI to display the change
- Returns: 0 on success, [non zero] on failure
- Version: v0.1.1.0+
- }
- MS_CLIST_GROUPDELETE = 'CList/GroupDelete';
-
- {
- wParam : HGROUP
- lParam : newState
- Affect : Change the expanded state flag for a group internally, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : if newState is non zero then the group is expanded, 0 it's collapsed
- CLUI IS *NOT* called when the change is made.
- Version: v0.1.1.0+
- }
- MS_CLIST_GROUPSETEXPANDED = 'CList/GroupSetExpanded';
-
- {
- wParam : HGROUP
- lParam : MAKELPARAM(flags, flagsMask)
- Affect : Change the flag for a group, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : only if flags given in flagsmask are altered,
- CLUI is called on change to GROUPF_HIDEOFFLINE
- Version: v0.1.2.1+
- }
- MS_CLIST_GROUPSETFLAGS = 'CList/GroupSetFlags';
-
- {
- wParam : HGROUP
- lParam : Pointer to a integer to be filled with expanded state
- Affect : get the name of a group, see notes
- Returns: a static buffer pointing to the name of the group
- returns NULL(0) if HGROUP is invalid.
- Notes : the returned buffer is only valid til the next call
- to this service, lParam can be NULL(0) if you don't
- want to know if the group is expanded
- Version: v0.1.1.0+
- }
- MS_CLIST_GROUPGETNAME = 'CList/GroupGetName';
-
- {
- wParam : HGROUP
- lParam : Pointer to flags
- Affect : Get the name of the group, see notes
- Returns: A static buffer pointing to the name of the group
- returns NULL(0) if HGROUP is invalid
- Note : this buffer is only valid til the next call to this service
- flags can be NULL(0), otherwise it'll return GROUPF_* constants
- Version: v0.1.2.1+
- }
- MS_CLIST_GROUPGETNAME2 = 'CList/GroupGetName2';
-
- {
- wParam : HGROUP
- lParam : HBEFOREGROUP
- Affect : Move a group directly before another group
- Returns: the new handle of the group on success, NULL(0) on failure
- Notes : the order is represented by the order in which MS_CLUI_GROUPADDED
- is called, however UI's are free to ignore this order and sort
- if they wish.
- Version: v0.1.2.1+
- }
- MS_CLIST_GROUPMOVEBEFORE = 'CList/GroupMoveBefore';
-
- {
- wParam : HGROUP
- lParam : Pointer to a null terminated string containing the new name
- Affect : Rename a group internally, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : this will fail if the group name is a duplicate of an existing
- a name, CLUI is not called when this change is made.
- Version: v0.1.1.0+
- }
- MS_CLIST_GROUPRENAME = 'CList/GroupRename';
-
- {
- wParam : 0
- lParam : 0
- Affect : Build a menu of the group tree, see notes
- Returns: Handle to the menu, NULL(0) on failure
- Notes : NULL be returned if the user doesn't have any groups
- the dwItemData of every menu item is the handle to that group.
- Menu item ID's are assigned starting at 100 in no particular order
- Version: v0.1.2.1+
- }
- MS_CLIST_GROUPBUILDMENU = 'CList/GroupBuildMenu';
-
- {
- wParam : newValue
- lParam : 0
- Affect : Changes the 'hide offline contacts' flag and calls CLUI, see notes
- Returns: 0 success, [non zero] on failure
- Notes : newValue is 0 to show all contacts, 1 to show only online contacts
- -1 to toggle the value
- Version: v0.1.1.0+
- }
- MS_CLIST_SETHIDEOFFLINE = 'CList/SetHideOffline';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Do the message processing associated with the double clicking a contact
- Returns: 0 on success, [non zero] on failure
- Version: v0.1.1.0+
- }
- MS_CLIST_CONTACTDOUBLECLICKED = 'CList/ContactDoubleClicked';
-
- {
- wParam : MCONTACT
- lParam : Pointer to an array of pchar's containing files/dirs
- Affect : Do the processing when some files are droppeed on a contact, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : the array is terminated when a NULL(0) entry is found
- Version: v0.1.2.1+
- }
- MS_CLIST_CONTACTFILESDROPPED = 'CList/ContactFilesDropped';
-
- {
- wParam : MCONTACT
- lParam : HGROUP
- Affect : Change the group a contact belongs to, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : use hGroup=NULL(0) to remove any group association with the contact
- Version: v0.1.1.0+
- }
- MS_CLIST_CONTACTCHANGEGROUP = 'CList/ContactChangeGroup';
-
- {
- wParam : HCONTACT_1
- lParam : HCONTACT_2
- Affect : Determine the ordering of two given contacts
- Returns: 0 if hContact1 is the same as hContact2
- 1 if hContact1 should be displayed before hContact2
- -1 if hContact1 should be displayed after hCotnact2
- Version: v0.1.1.0+
- }
- MS_CLIST_CONTACTSCOMPARE = 'CList/ContactsCompare';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clui.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clui.inc
deleted file mode 100644
index 5faec66f6a..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_clui.inc
+++ /dev/null
@@ -1,215 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_CLUI}
-{$DEFINE M_CLUI}
-
- {<</
- this header was created for use for v0.1.1.0, most of it's UI related
- stuff and you probably don't need to call it, see m_clist.inc instead.
- -- There are some functions that were implemented in v0.1.2.0 though
- />>}
-
-const
-
- {
- wParam : 0
- lParam : 0
- Affects: Returns a window handle for the contact list window, see notes
- Returns: ""
- Notes : This call has a very specific purpose internally Miranda
- and shouldn't be used gratuitously, in almost all cases
- there's another call to do whatever it is that you're
- trying to do.
- }
- MS_CLUI_GETHWND = 'CLUI/GetHwnd';
-
- {
- wParam : new status
- lParam : null terminated string to a protocol ID
- Affects: Change the protocol specific status indicators, see notes!
- Returns: 0 on success, [non zero] on failure
- Notes : protocol modules don't want to call this, they want
- clist/protocolstatuschanged instead
- }
- MS_CLUI_PROTOCOLSTATUSCHANGED = 'CLUI/ProtocolStatusChanged';
-
- {
- wParam : Handle to a group
- lParam : 1 or 0
- Affect : A new group was created, add it to the list, see notes
- Notes : lParam is set to 1 or 0 if the user just created
- the group or not.
- -
- this is also called when the contact list is being rebuilt,
- new groups are always created with the name 'New group'
- }
- MS_CLUI_GROUPADDED = 'CLUI/GroupCreated';
-
- {
- wParam : MCONTACT
- lParam : ICON_ID
- Affect : Change the icon for a contact, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : ICON_ID is an offset in the imagelist, see clist/geticonsimagelist
- }
- MS_CLUI_CONTACTSETICON = 'CLUI/ContactSetIcon';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Remove a contact from the list, see notes
- Returns: 0 on success, [non zereo] on failure
- Notes : this contact is NOT actually being deleted, since if
- a contact goes offline while 'hide offline' option is sset,
- this service will be called then ALSO
- }
- MS_CLUI_CONTACTDELETED = 'CLUI/ContactDeleted';
-
- {
- wParam : MCONTACT
- lParam : ICON_ID
- Affect : Add a contact to the list, see note
- returns: 0 on success, [non zero] on failure
- Notes : the caller processes the 'hide offline' setting, so the callee
- should not do further processing based on the value of this setting
- -
- WARNING: this will be called to re-add a contact when they come
- online if 'hide offline' is on, but it cannot determine if
- the contact is already on the list, so you may get requests to
- add a contact when it is already on the list, which you should ignore.
- -
- You'll also get this whenever an event is added for a contact,
- since if the contact was offline, it needs to be shown to
- display the mesage, even if 'hide offlines' is on.
- -
- you should not resort the list on this call, a seperate resort
- request will be sent.
- -
- ICON_ID is an offset in the image list, see clist/geticonsimagelist
-
- }
- MS_CLUI_CONTACTADDED = 'CLUI/ContactAdded';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Reename a contact in the lists, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : You should not re-sort the list on this call, a separate resort
- request will be sent, you can get the new name from clist/getcontactdisplayname
- }
- MS_CLUI_CONTACTRENAMED = 'CLUI/ContactRenamed';
-
- {
- wParam : 0
- lParam : 0
- Affect : Start a rebuild of the contact list, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : this is the cue to clear the existing content of the list
- expect to get a series of :
-
- clui/groupadded
- clui/contactadded
- clui/resortlist
- }
- MS_CLUI_LISTBEGINREBUILD = 'CLUI/ListBeginRebuild';
-
- {
- wParam : 0
- lParam : 0
- Affect : End a rebuild of the contact list, see notes
- Returns: 0 on success, [non zero] on error
- Notes : if you dissplayed an hourglass in beginbuild, set it back
- here, you do not need to explicitly sort the list
- }
- MS_CLUI_LISTENDREBUILD = 'CLUI/ListEndRebuild';
-
- {
- wParam : 0
- lParam : 0
- Affect : Sort the contact list now, see notes
- Returns: 0 success, [non zero] on failure
- Notes : Sorts are buffered so you won't get this message lots of times
- if the lists needs to be resorted many times rapidly
- }
- MS_CLUI_SORTLIST = 'CLUI/SortList';
-
- {
- wParam : CLUICAPS_*
- lParam : 0
- Affect : Gets a load of capabilites for the loaded CLUI, see notes
- Returns: the requested value, 0 of wParam is unknown --
- if this service is not implemented it is assumed all return
- values will be 0.
- Version: v0.1.2.1+
- }
-
- { can only provide this flag to return the following set of caps, the strings
- show the database setting/type to store the list option, changing the value
- does not reflect what the change is, i.e. ontop can only be affected with
- a call to SetWindowPos() }
- CLUICAPS_FLAGS1 = 0;
- { empty groups aren't shown, 'CList/HideEmptyGroups' (byte) [changes make the list reload] }
- CLUIF_HIDEEMPTYGROUPS = 1;
- { groups can be disabled, lists can be merged into one seamlessly, (byte) 'CList/UseGroups' }
- CLUIF_DISABLEGROUPS = 2;
- { list can be displayed 'on top' of all other windows, 4 (byte) 'CList/OnTop' }
- CLUIF_HASONTOPOPTION = 4;
- { can disappear after a while of inactive use,
- (byte) 'CList/AutoHide' (word) 'CList/HideTime' }
- CLUIF_HASAUTOHIDEOPTION = 8;
-
- MS_CLUI_GETCAPS = 'CLUI/GetCaps';
-
- {
- wParam : MCONTACT
- lParam : MAKELPARAM(screenX, screenY)
- Affect : A contact is being dragged outside the main window
- Return : return [non zero] to show the drag cursor as "accepting" the drag
- or zero to show the circle/slash 'not allowed'
- Version: v0.1.2.0+
- }
- ME_CLUI_CONTACTDRAGGING = 'CLUI/ContactDragging';
-
- {
- wParam : MCONTACT
- lParam : MAKELPARAM(screenX, screenY)
- Affect : a contact has just been dropped outside the main window, see notes
- Notes : return non zero to stop other hooks processing this event.
- Version: v0.1.2.0+
- }
- ME_CLUI_CONTACTDROPPED = 'CLUI/ContactDropped';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : A contact that *was* being dragged outside the main window
- has gone back to the main window
- Return : always return 0
- Version: v0.1.2.1+
- }
- ME_CLUI_CONTACTDRAGSTOP = 'CLUI/ContactDragStop';
-
-{$ENDIF} \ No newline at end of file
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_contacts.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_contacts.inc
deleted file mode 100644
index c190b32bf0..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_contacts.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-(*
-Miranda IM
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*)
-
-type
-
- PCONTACTINFO = ^TCONTACTINFO;
- TCONTACTINFO = record
- cbSize: int;
- dwFlag: Byte;
- hContact: THandle;
- szProto: PChar;
- type_: Byte;
- retval: record (* in C this is a nameless union *)
- case longint of
- 0: (bVal: Byte);
- 1: (wVal: WORD);
- 2: (dVal: DWORD);
- 3: (pszVal: PChar);
- 4: (cchVal: Word);
- end;
- end;
-
-const
-
-// CNF_* Types of information you can retrieve by setting the dwFlag in CONTACTINFO
-
- CNF_FIRSTNAME = 1; // returns first name (string)
- CNF_LASTNAME = 2; // returns last name (string)
- CNF_NICK = 3; // returns nick name (string)
- CNF_CUSTOMNICK = 4; // returns custom nick name, clist name (string)
- CNF_EMAIL = 5; // returns email (string)
- CNF_CITY = 6; // returns city (string)
- CNF_STATE = 7; // returns state (string)
- CNF_COUNTRY = 8; // returns country (string)
- CNF_PHONE = 9; // returns phone (string)
- CNF_HOMEPAGE = 10; // returns homepage (string)
- CNF_ABOUT = 11; // returns about info (string)
- CNF_GENDER = 12; // returns gender (byte,'M','F' character)
- CNF_AGE = 13; // returns age (byte, 0==unspecified)
- CNF_FIRSTLAST = 14; // returns first name + last name (string)
- CNF_UNIQUEID = 15; // returns uniqueid, protocol username (must check type for type of return)
-
-// Special types
-// Return the custom name using the name order setting
-// IMPORTANT: When using CNF_DISPLAY you MUST free the string returned
-// You must **NOT** do this from your version of free() you have to use Miranda's free()
-// you can get a function pointer to Miranda's free() via MS_SYSTEM_GET_MMI, see m_system.h
- CNF_DISPLAY = 16;
-// Same as CNF_DISPLAY except the custom handle is not used
-// IMPORTANT: When using CNF_DISPLAYNC you MUST free the string returned
-// You must **NOT** do this from your version of free() you have to use Miranda's free()
-// you can get a function pointer to Miranda's free() via MS_SYSTEM_GET_MMI, see m_system.h
- CNF_DISPLAYNC = 17;
-
-// If MS_CONTACT_GETCONTACTINFO returns 0 (valid), then one of the following
-// types is setting telling you what type of info you received
- CNFT_BYTE = 1;
- CNFT_WORD = 2;
- CNFT_DWORD = 3;
- CNFT_ASCIIZ = 4;
-
- {
- wParam : not used
- lParam : Pointer to an initialised TCONTACTINFO structure
- affects: Get contact information
- returns: Zero on success, non zero on failure.
- notes : If successful, the type is set and the result is put into the associated member of TCONTACTINFO
- }
- MS_CONTACT_GETCONTACTINFO = 'Miranda/Contact/GetContactInfo';
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_database.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_database.inc
deleted file mode 100644
index 913fb92d80..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_database.inc
+++ /dev/null
@@ -1,653 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_DATABASE}
-{$DEFINE M_DATABASE}
-
-const
-
- DBVT_DELETED = 0; // setting got deleted, no values are valid
- DBVT_BYTE = 1; // bVal, cVal are valid
- DBVT_WORD = 2; // wVal, sVal are valid
- DBVT_DWORD = 4; // dVal, lVal are valid
- DBVT_ASCIIZ = 255; // pszVal is valid
- DBVT_BLOB = 254; // cpbVal and pbVal are valid
- DBVTF_VARIABLELENGTH = $80; // ?
-
-type
-
- MCONTACT = Integer;
- HDBEVENT = Integer;
-
- PDBVARIANT = ^TDBVARIANT;
- TDBVARIANT = record
- type_: Byte;
- case LongInt of
- 0: (bVal: Byte);
- 1: (cVal: Char);
- 2: (wVal: Word);
- 3: (sVal: SmallInt);
- 4: (dVal: LongInt);
- 5: (lVal: Integer);
- 6: (
- pszVal: PChar;
- cchVal: Word;
- );
- 7: (
- cpbVal: Word;
- pbVal: PByte;
- );
- end;
-
-const
-
- {
- wParam : size of the buffer to be filled
- lParam : pointer to the buffer to be filled
- affect : Get's the name of the current profile being used by the database
- module -- this is the same as the filename of the profile without
- the .ext
- return : 0 on success, non zero on failure
- }
- MS_DB_GETPROFILENAME = 'DB/GetProfileName';
-
- {
- wParam : size of buffer pointed to by lParam
- lParam : pointer to a buffer to be filled
- affect : Fill a buffer with the current profile path being used, this does not include the trailing backslash.
- return : 0 on success, non zero on failure
- version: 0.3a only
- }
- MS_DB_GETPROFILEPATH = 'DB/GetProfilePath';
-
-type
-
- PDBCONTACTGETSETTING = ^TDBCONTACTGETSETTING;
- TDBCONTACTGETSETTING = record
- { name of the module that wrote the setting to get }
- szModule: PChar;
- { the name of the setting to get }
- szSetting: PChar;
- { pointer to DBVARIANT to receive the value -- must be allocated for GETSETTINGSTATIC
- calls thou }
- pValue: PDBVARIANT;
- end;
-
- PDBCONTACTWRITESETTING = ^TDBCONTACTWRITESETTING;
- TDBCONTACTWRITESETTING = record
- { module sig to write this setting under }
- szModule: PChar;
- { setting name to write }
- szSetting: PChar;
- { variant containing value to set }
- value: TDBVARIANT;
- end;
-
-const
-
- {
- wParam : Handle of a contact to get the setting for (see notes)
- lParam : pointer to a TDBCONTACTGETSETTING structure to be filled with setting
- this structure also has to be initalised (see notes)
- affect : Queries the database module for a setting from a contact.
- returns: 0 on success, non zero on failure (contact not found, setting doesn't exist)
- notes : TDBCONTACTGETSETTING must be filled with the module name that created
- /wrote the setting you want to get (e.g. your module name)
- and the actual setting to read with TDBCONTACTGETSETTING.szModule and
- TDBCONTACTGETSETTING.szSetting -- TDBCONTACTGETSETTING.pValue is
- a pointer to a TDBVARIANT with the returned setting, this maybe nil
- and MUST be freed after you're done with it with FreeVariant()
-
- There are helper functions for reading/writing/deleting common types to and
- from the database -- see DBGetContactSetting<type>
-
- the contact handle (hContact) can be returned by FindContact/AddContact
- }
- MS_DB_CONTACT_GETSETTING = 'DB/Contact/GetSetting';
-
- {
- wParam : Handle for a contact to query a setting for
- lParam : Pointer to a TDBCONTACTGETSETTING structure
- affects: This service is almost the same as the one above, but it does
- not return a dynamic copy (with malloc()) -- the caller
- must do this for datatypes which require it, e.g. a string.
-
- This means the TDBCONTACTGETSETTING.pValue *has* to exist and be
- allocated by the caller (doesn't have to be allocated from the heap)
- the DBVARIANT structure has to be initalised with the type wanted
- and enough buffer space around to return the info, do not
- expect this service to be as fast as the one above.
-
- returns: 0 on success, non zero on failure.
- }
- MS_DB_CONTACT_GETSETTINGSTATIC = 'DB/Contact/GetSettingStatic';
-
- {
- wParam : 0
- lParam : Pointer to a TDBVARIANT structure
- affect : Free's the passed DBVARIANT's dynamic memory (if any) see notes
- returns: 0 on success, non zero on failure
- notes : use the helper function FreeVariant()
- }
- MS_DB_CONTACT_FREEVARIANT = 'DB/Contact/FreeVariant';
-
- {
- wParam : Handle to contact to write setting for
- lParam : Pointer to TDBCONTACTWRITESETTING which must be initalised
- affects: writes a setting under a contact -- TDBCONTACTWRITESETTING structure
- must contain the module name writing -- the setting name, and the value
- to write (which is NOT a pointer) .szModule, .szSetting, .Value, see notes
- returns: 0 on success, non zero on failure
- notes : this service triggers 'DB/Contact/SettingChanged' before it returns
- as always, there is a helper function to use this service.
- }
- MS_DB_CONTACT_WRITESETTING = 'DB/Contact/WriteSetting';
-
- {
- wParam : hContact under which the setting should be deleted
- lParam : Pointer to a TDBCONTACTGETSETTING structure
- affects: Deletes the given setting for a contact, the TDBCONTACTGETSETTING.pValue
- field is ignored -- only .szModule and .szSetting are needed, see notes
- returns: 0 on success, non zero on failure
- notes : triggers 'DB/Contact/SettingChanged' BEFORE it deletes the given
- setting, when the service returns the TDBVARIANT structure .type_ is set
- to 0 and no fields are valid, there is a helper function for this
- service, see below.
- }
- MS_DB_CONTACT_DELETESETTING = 'DB/Contact/DeleteSetting';
-
- {
- wParam : Handle of a contact to enum settings for
- lParam : Pointer to a TDBCONTACTENUMSETTINGS structure, must be initalised
- affect : Enumerates all settings for a given contact under a module,
- TDBCONTACTENUMSETTINGS must be filled with the function pointer to call
- the TDBCONTACTENUMSETTINGS.lParam value to pass to it each time,
- as well as the .szModule under which the contact is valid
- returns: returns the value of the last call to the enum function, or -1
- if no settings could be enumerated
- notes : the szSetting argument passed to the enumeration function is only
- valid for the duration of that enumeration call,
- it must be allocated dynamically if it is required after that call frame
- has returned.
- Also, deleting settings as they are enumerated has unpredictable results!
- but writing a new value for a setting is okay.
- it is unclear how you stop the enumeration once it is started, maybe
- possible to return -1 to stop it.
- vesion : only valid for 0.1.0.1+
- }
-
-type
-
- TDBSETTINGENUMPROC = function(const szSetting: PChar; lParam: LPARAM): int; cdecl;
-
- PDBCONTACTENUMSETTINGS = ^TDBCONTACTENUMSETTINGS;
- TDBCONTACTENUMSETTINGS = record
- { function pointer to call to start the enum via MS_DB_CONTACT_ENUMSETTINGS }
- pfnEnumProc: TDBSETTINGENUMPROC;
- { passed to the above function }
- lParam: LPARAM;
- { name of the module to get settings for }
- szModule: PChar;
- { not used by us }
- ofsSettings: DWORD;
- end;
-
-const
-
- MS_DB_CONTACT_ENUMSETTINGS = 'DB/Contact/EnumSettings';
-
- {
- wParam : 0
- lParam : 0
- affect : none
- returns: Returns the number of contacts in the database for the loaded profile
- not including the profile user, see notes.
- notes : the contacts in the database can be read with FindFirst/FindNext
- }
- MS_DB_CONTACT_GETCOUNT = 'DB/Contact/GetCount';
-
- {
- wParam : 0
- lParam : 0
- returns: Returns a handle to the first contact in the database,
- this handle does not need to be closed, if there are no users
- NULL(0) is returned.
- }
- MS_DB_CONTACT_FINDFIRST = 'DB/Contact/FindFirst';
-
- {
- wParam : Contact handle
- lParam : 0
- returns: Returns a handle to the next contact after the given contact in
- wParam, this handle does not neeed to be closed -- may return NULL(0)
- if the given contact in wParam was the last in the database, or the
- given contact was invalid
- }
- MS_DB_CONTACT_FINDNEXT = 'DB/Contact/FindNext';
-
- {
- wParam : Handle of a contact to delete
- lParam : 0
- affect : the user by the given handle is deleted from the database, see notes
- returns: Returns 0 on success or nonzero if the handle was invalid
- notes : this triggers DB/Contact/Deleted BEFORE it actually deletes the contact
- all events are also deleted -- other modules may end up with invalid
- handles because of this, which they should be prepared for.
- }
- MS_DB_CONTACT_DELETE = 'DB/Contact/Delete';
-
- {
- wParam : 0
- lParam : 0
- affects: creates a new contact in the database, they have no settings,
- settings must be added with MS_DB_CONTACT_WRITESETTING or
- database helper functions for writing, see notes
- returns: A handle to a new contact or NULL(0) on failure.
- notes : triggers the ME_DB_CONTACT_ADDED event just before the service returns
- }
- MS_DB_CONTACT_ADD = 'DB/Contact/Add';
-
-
- {
- wParam : (HANDLE) hContact
- lParam : 0
- affects: Checks the given handle within the database for valid information, for
- a proper internal header.
- returns: Returns 1 if the contact handle is valid, 0 if it is not
- notes : Due to the nature of multiple threading a contact handle can be deleted
- soon after this service has returned a handle as valid, however it will never point
- to another contact.
- }
- MS_DB_CONTACT_IS = 'DB/Contact/Is';
-
-
- {
- wParam : contact handle for events count is needed
- lParam : 0
- service: Gets the number of events in the chain belonging to a contact
- in the databasee.
- returns: the numbef of events owned by hContact or -1 if hContact
- is invalid, they can be found with the event/find* servicees
- }
- MS_DB_EVENT_GETCOUNT = 'DB/Event/GetCount';
-
- {
- wParam : contact handle to add an event for
- lParam : Pointer to TDBEVENTINFO initialised with data
- affect : Add's an event to the contact's event list, the TDBEVENTINFO
- structure should be filled with the event of message -- see notes
- returns: a handle to a DB event (HDBEVENT), or NULL on error
- notes : Triggers DB/Event/Added event just before it returns,
- Events are sorted chronologically as they are entered,
- so you cannot guarantee that the new hEvent is the last event in the chain,
- however if a new event is added that has a timestamp less than
- 90 seconds *before* the event that should be after it,
- it will be added afterwards, to allow for protocols that only
- store times to the nearest minute, and slight delays in transports.
- There are a few predefined eventTypes below for easier compatibility, but
- modules are free to define their own, beginning at 2000
- DBEVENTINFO.timestamp is in GMT, as returned by time()
- }
-
- DBEF_SENT = 2; // if set, the event was sent by the user, otherwise it was received
- DBEF_READ = 4; // event has been read by the user -- only needed for history
-
- EVENTTYPE_MESSAGE = 0;
- EVENTTYPE_URL = 1;
- EVENTTYPE_CONTACTS = 2; // v0.1.2.2+
- EVENTTYPE_ADDED = 1000; // v0.1.1.0+: these used to be module-
- EVENTTYPE_AUTHREQUEST = 1001; // specific codes, hence the module-
- EVENTTYPE_FILE = 1002; // specific limit has been raised to 2000
-
-type
-
- PDBEVENTINFO = ^TDBEVENTINFO;
- TDBEVENTINFO = record
- { size of the structure }
- cbSize: int;
- { module that 'owns' this event and controls the data format }
- szModule: PChar;
- { timestamp in UNIX time }
- timestamp: DWORD;
- { the DBEF_* flags above }
- flags: DWORD;
- { event type, such as message, can be module defined }
- eventType: WORD;
- { size in bytes of pBlob^ }
- cbBlob: DWORD;
- { pointer to buffer containing the module defined event data }
- pBlob: PByte;
- end;
-
-const
-
- MS_DB_EVENT_ADD = 'DB/Event/Add';
-
-
-
- {
- wParam : Handle to the contact
- lParam : HDBEVENT handle to delete
- affects: Removes a single event from the database for the given contact
- returns: 0 on success, nonzero on failure
- notes : Triggers DB/Event/Deleted just before the event *is* deleted
- }
- MS_DB_EVENT_DELETE = 'DB/Event/Delete';
-
- {
- wParam : Handle to DB event
- lParam : 0
- returns: Returns the space in bytes requried to store the blob in HDBEVENT
- given by HDBEVENT(wParam) -- or -1 on error
- }
- MS_DB_EVENT_GETBLOBSIZE = 'DB/Event/GetBlobSize';
-
- {
- wParam : Handle to a DB event
- lParam : Pointer to a TDBEVENTINFO structure which must be initialised
- affects: Returns all the information about an DB event handle to a TDBEVENTINFO
- structure which must be initalised, DBEI.cbSize, DBEI.pBlob and DBEI.cbSize
- before calling this service, the size can be assertained with
- GetBlobSize() service, see notes
- returns: Returns 0 on success, non zero on failure
- notes : The correct value dbe.cbBlob can be got using db/event/getblobsize
- If successful, all the fields of dbe are filled. dbe.cbBlob is set to the
- actual number of bytes retrieved and put in dbe.pBlob
- If dbe.cbBlob is too small, dbe.pBlob is filled up to the size of dbe.cbBlob
- and then dbe.cbBlob is set to the required size of data to go in dbe.pBlob
- On return, dbe.szModule is a pointer to the database module's
- own internal list of modules. Look but don't touch.
- }
- MS_DB_EVENT_GET = 'DB/Event/Get';
-
- {
- wParam : MCONTACT
- lParam : HDBEVENT
- affect : Changes the flag for an event to mark it as read
- Returns: Returns the entire flag DWORD for the event after the change, or -1
- if HDBEVENT is invalid, see notes
- notes : This iss one of the database write operations that does not trigger
- an event, modules should not save flagss states for any length of time.
- }
- MS_DB_EVENT_MARKREAD = 'DB/Event/MarkRead';
-
- {
- wParam : HDBEVENT
- lParam : 0
- Affect : Returns a handle to a contact that owns the HDBEVENT,
- see notes
- Returns: Returns a handle if successful or HDBEEVENT(-1) on failure
- notes : This service is very slow, only use wheen you have no other choice
- at all.
- }
- MS_DB_EVENT_GETCONTACT = 'DB/Event/GetContact';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Retrieves a handlee to the first event in the chain
- for a MCONTACT
- returns: Returns a handle, or NULL(0) if MCONTACT is invalid or has
- no events, events in a chain are sorted chronologically automatically
- }
- MS_DB_EVENT_FINDFIRST = 'DB/Event/FindFirst';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Retrieves a handle to the first unreead event in a chain for a MCONTACT
- see notes
- Returns: Returns a HDBEVENT handle or NULL(0) if the MCONTACT is invalid
- or all it's events have beeen read.
- Notes : Events in a chain are sorted chronologically automatically,
- but this does not necessarily mean that all events after
- the first unread are unread too.
- They should be checked individually with event/findnext and event/get
- This service is designed for startup, reloading all the events that remained
- unread from last time
- }
- MS_DB_EVENT_FINDFIRSTUNREAD = 'DB/Event/FindFirstUnread';
-
- {
- wParam : MCONTACT
- lParam : 0;
- Affects: Retrieves a handle to the lasts event in the chain for a MCONTACT
- Returns: Returns a handle or NULL(0) if MCONTACT is invalid or has no events
- }
- MS_DB_EVENT_FINDLAST = 'DB/Event/FindLast';
-
- {
- wParam : HDBEVENT
- lParam : 0
- Affects: Retrieves a handle to the next event in a chain after HDBEVENT
- Returns: A handle to the next DB event or NULL(0) if HDBEVENT is invalid
- or the last event in the chain.
- }
- MS_DB_EVENT_FINDNEXT = 'DB/Event/FindNext';
-
- {
- wParam : HDBEVENT
- lParam : 0
- Affects: Retrieves a handle to the previous event in a chain before HDBEVENT
- Returns: A handle to the previous HDBEVENT or NULL(0) if HDBEVENT is invalid
- or is the first event in the chain
- }
- MS_DB_EVENT_FINDPREV = 'DB/Event/FindPrev';
-
-
-
- {
- wParam : size in bytes of string buffer (including null term)
- lParam : pointer to string buffer
- Affect : Scrambles the string buffer in place using a strange encryption algorithm,
- see notes
- Returns: Always returns 0
- notes : this service may be changed at a later date such that it increasess
- the length of the string
- }
- MS_DB_CRYPT_ENCODESTRING = 'DB/Crypt/EncodeString';
-
- {
- wParam : size in bytes of string buffer, including null term
- lParam : pointer to string buffer
- Affect : Descrambles pszString in-place using the strange encryption algorithm,
- see notes.
- Return : Always returns 0
- notes : Reverses the operation done by MS_DB_CRYPT_ENCODINGSTRING
- }
- MS_DB_CRYPT_DECODESTRING = 'DB/Crypt/DecodeString';
-
-
-
- {
- wParam : timestamp (DWORD)
- lParam : 0
- Affect : Converts a GMT timestap into local time
- Returns: Returns the converted value, see notes
- Notes : Timestamps have a zereo at midnight 1/1/1970 GMT, this service
- converts such a value to be based at midnight 1/1/1970 local time.
- This service does not use a simple conversion based on the current offset
- between GMT and local. Rather, it figures out whether daylight savings time
- would have been in place at the time of the stamp and gives the local time as
- it would have been at the time and date the stamp contains.
- }
- MS_DB_TIME_TIMESTAMPTOLOCAL = 'DB/Time/TimestampToLocal';
-
- {
- wParam : timestamp (DWORD)
- lParam : pointer to initalised DBTIMETOSTRING structure
- Affect : Converts a GMT timestamp to a customisable local time string
- see notes
- Returns: Always returns 0
- notes : The string is formatted according to thhe current user's locale
- language and preference --
-
- .szFormat can have the following special chars :
- t time without seconds, e.g. hh:mm
- s time with seconds, e.g. hh:mm:ss
- m time without minutes e.g. hh
- d short date, e.g. dd/mm/yyyy
- D long date, e.g. d mmmm yyyy
-
- all other characters are copied as is.
- }
-
-type
-
- PDBTIMETOSTRING = ^TDBTIMETOSTRING;
- TDBTIMETOSTRING = record
- { format string, see above }
- szFormat: PChar;
- { pointer to dest buffer to store the result }
- szDest: PChar;
- { size of the buffer }
- cbDest: int;
- end;
-
-const
-
- MS_DB_TIME_TIMESTAMPTOSTRING = 'DB/Time/TimestampToString';
-
-
-
- {
- wParam : newSetting (BOOLEAN)
- lParam : 0
- Affect : Miranda's database is normally protected against corruption by
- aggressively flushing data to the disk on writes, if you're doing
- alot of writes e.g. an import plugin, it can sometimes be desirable
- to switch this feature off to speed up the process, if you do switch
- it off, you must remember that crashes are far more likely to be
- catastrophic, so switch it back on at the earliest possible opportunity.
- if you're doing a lot of setting writes, the flush is already delayed
- so you need not use this service for that purpose, see notes.
- Returns: Always returns 0 (successful)
- notes : This is set to true initally
- }
- MS_DB_SETSAFETYMODE = 'DB/SetSafetyMode';
-
- {
- wParam : (caller defined data) will be passed to lParam of the call back
- lParam : function pointer to TDBMODULEENUMPROC
- Affects: Enumerates the names of all modules that have stored or
- requested information from the database,
- the modules are returned in no real order --
- Writing to the database while module names are being enumerated will cause
- unpredictable results in the enumeration, but the write will work.
-
- the enumeration will stop if the callback returns a non zero value.
-
- Returns: the last return value from the enumeration call back.
- Notes : This service is only useful for debugging or EnumSettings
- version: The service registered to enumerate all modules that have touched
- the database module uses wParam as the lParam cookie value and the lParam
- value given here is the function pointer -- this is not safe
- to use before v0.1.2.1 because I don't know if this was done in v0.1.2.1-
-
- prior to v0.1.2.1 you can not pass a value to the enumeration because
- of a bug -- which is fixed, but hey :) -- [sam]
- }
-type
- TDBMODULEENUMPROC = function(const szModule: PChar; ofsModuleName: DWORD; lParam: LPARAM): int; cdecl;
-const
- MS_DB_MODULES_ENUM = 'DB/Modules/Enum';
-
-
-
- {
- wParam : MCONTACT
- lParam : HDBCONTACT
- Affect : Called when a new event has been added to the event chain
- for a contact, MCONTACT contains the contact who added the event,
- HDBCONTACT a handle to what was added.
- see notes
- notes : since events are sorted chronologically, you can not guarantee
- that HDBEVEnT is in any particular position in the chain.
-
- }
- ME_DB_EVENT_ADDED = 'DB/Event/Added';
-
- {
- wParam : HANDLE (hContact)
- lParam : @DBEVENTINFO
- Affects: Hook is fired before any DBEVENTS are created within the database for
- a contact (or a user, if hContact is NULL(0)) - It allows a module to
- query/change DBEVENTINFO before it is created, see notes.
- Returns: Hook should return 1 to stop event being added (will stop other hooks seeing the event too)
- Or 0 to continue processing (passing the data on as well)
- Notes : This hook is fired for all event types, and the BLOBS that the eventypes mark
- Maybe changed, therefore be careful about using BLOB formats.
- Because the memory pointing within the DBEVENTINFO CAN NOT BE OWNED or free()'d
- it is recommended that the hook only be used to stop events.
- Version: 0.3.3a+ (2003/12/03)
- }
- ME_DB_EVENT_FILTER_ADD = 'DB/Event/FilterAdd';
-
- {
- wParam : MCONTACT
- lParam : HDBEVENT
- Affect : Called when an event is about to be deleted from the event chain
- for a contact, see notes
- notes : Returning non zero from your hook will NOT stop the deletion,
- but it will as usual stop other hooks being called
- }
- ME_DB_EVENT_DELETED = 'DB/Event/Deleted';
-
-
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Called when a new contact has been added to the database,
- MCONTACT contains a handle to the new contact.
- }
- ME_DB_CONTACT_ADDED = 'DB/Contact/Added';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Called when a contact is about to be deleted
- Returns: Returning nonzero from your hook will not stop the deletion
- but it will stop the other hooks from being called
- }
- ME_DB_CONTACT_DELETED = 'DB/Contact/Deleted';
-
- {
- wParam : MCONTACT
- lParam : Pointer to a TDBCONTACTWRITESETTING
- Affect : Calleed when a contact has one of it's settings changed
- hContact is a valid handle to the contact that has changed,
- see notes.
- notes : this event will be triggered many times rapidly when alot of values
- are set.
- Modules that hook this should be aware of this fact and quickly
- return if they are not interested in the value that has changed.
- Careful not to get into infinite loops with this event,
-
- The TDBCONTACTWRITESETTING pointer is the same one as the
- original service all, so don't change any of it's fields
- }
- ME_DB_CONTACT_SETTINGCHANGED = 'DB/Contact/SettingChanged';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_email.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_email.inc
deleted file mode 100644
index f26847e53c..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_email.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_EMAIL}
-{$DEFINE M_EMAIL}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affects: Send an e-mail to the specified contact, see notes
- Returns: Returns 0 on success or nonzero on failure
- Notes : If an error occurs the service displays a message box
- with the error text -- use this service to alter this
- }
- MS_EMAIL_SENDEMAIL = 'SREMail/SendCommand';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_file.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_file.inc
deleted file mode 100644
index 536f1d47f4..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_file.inc
+++ /dev/null
@@ -1,66 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_FILE}
-{$DEFINE M_FILE}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affects: Brings up the send file dialog for a contact, see notes
- Returns: 0 on success [non zero] on failure
- Notes : Returns immediately without waiting for the send
- }
- MS_FILE_SENDFILE = 'SRFile/SendCommand';
-
- {
- wParam : MCONTACT
- lParam : pointer to an array of PChar's the first nil item
- terminates the list -- see notes
- Affects: Brings up the send file dialog with specifieed files already chosen
- the user is not prevented from editing the list --
- Returns: 0 on success [non zero] on failure -- returns immediately without
- waiting for the send to finish
- Notes : both directories and files can be given
- Version: v0.1.2.1+
- }
- MS_FILE_SENDSPECIFICFILES = 'SRFile/SendSpecificFiles';
-
- {
- wParam : MCONTACT
- lParam : Pointer to a buffer
- Affects: returns the received files folder for a contact, the buffer
- should be at least MAX_PATH long (defined with WinAPI),
- the returned path may not exist -- see notes
- Returns: Returns 0 on success [non zero] on failure
- notes : If MCONTACT is NULL(0) the path returned is the path
- without the postfix contact name.
- Version: v0.1.2.2+
- }
- MS_FILE_GETRECEIVEDFILESFOLDER = 'SRFile/GetReceivedFilesFolder';
-
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_findadd.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_findadd.inc
deleted file mode 100644
index 9952a787c8..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_findadd.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_FINDADD}
-{$DEFINE M_FINDADD}
-
-const
-
- {
- wParam : 0
- lParam : 0
- Affects: Openss the find/add users dialog box, or gives it focus if it's
- already open.
- Returns: Always returns 0
- }
- MS_FINDADDFINDADD = 'FindAdd/FindAddCommand';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_globaldefs.pas b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_globaldefs.pas
deleted file mode 100644
index 2eb47e8a90..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_globaldefs.pas
+++ /dev/null
@@ -1,98 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFDEF FPC}
- {$PACKRECORDS C}
- {$MODE Delphi}
-{$ENDIF}
-
-unit m_globaldefs;
-
-interface
-
-uses
-
-{$ifdef FPC}
- strings;
-{$else}
- Windows;
-{$endif}
-
-type
-
- PByte = ^Byte;
- int = Integer;
- pint = ^int;
- WPARAM = Integer;
- LPARAM = Integer;
- DWORD = Integer;
- THandle = Integer;
-
- // strcpy()
-
- {$ifdef FPC}
- TStrCpy = function(Dst, Src: PChar): PChar;
- {$else}
- TStrCpy = function(Dst, Src: PChar): PChar; stdcall;
- {$endif}
-
- // strcat()
-
- {$ifdef FPC}
- TStrCat = function(Dst, Src: PChar): PChar;
- {$else}
- TStrCat = function(Dst, Src: PChar): PChar; stdcall;
- {$endif}
-
-const
-
- {$ifdef FPC}
- strcpy: TStrCpy = strings.strcopy;
- {$else}
- strcpy: TStrCpy = lstrcpy;
- {$endif}
-
- {$ifdef FPC}
- strcat: TStrCat = strings.strcat;
- {$else}
- strcat: TStrCat = lstrcat;
- {$endif}
-
- {$include newpluginapi.inc}
-
-var
- { this is now a pointer to a record of function pointers to match the C API,
- and to break old code and annoy you. }
-
- PLUGINLINK: PPLUGINLINK;
-
- { has to be returned via MirandaPluginInfo and has to be statically allocated,
- this means only one module can return info, you shouldn't be merging them anyway! }
-
- PLUGININFO: TPLUGININFO;
- PLUGININFOEX: TPLUGININFOEX;
-
-implementation
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_helpers.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_helpers.inc
deleted file mode 100644
index d09d66324e..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_helpers.inc
+++ /dev/null
@@ -1,622 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$ifdef M_API_UNIT}
-
- function PLUGIN_MAKE_VERSION(a,b,c,d: Cardinal): int;
- function PLUGIN_CMP_VERSION(verA: LongInt; verB: LongInt): int;
-
-{$else}
-
- function PLUGIN_MAKE_VERSION(a,b,c,d: Cardinal): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := (a shl 24) or (b shl 16) or (c shl 8) or d;
- end;
-
- function PLUGIN_CMP_VERSION(verA: LongInt; verB: LongInt): int; {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := 0;
- { could be used to compare for severity of age for positive values, if a<b
- results are minus values, 0 for equal, positive if a is newer }
- Inc(Result, (verA and $FF) - (verB and $FF));
- Inc(Result, (verA and $FF00) - (verB and $FF00));
- Inc(Result, (verA and $FF0000) - (verB and $FF0000));
- Inc(Result, (verA and $FF000000) - (verB and $FF000000));
- end;
-
-{$endif}
-
-{$ifdef M_SYSTEM}
- {$ifdef M_API_UNIT}
-
- function CallService(const szService: PChar; wParam: WPARAM; lParam: LPARAM): int;
-
- function HookEvent(const szHook: PChar; hook_proc: TMIRANDAHOOK): int;
-
- function UnhookEvent(const hHook: THandle): int;
-
- function CreateServiceFunction(const szName: PChar; const MirandaService: TMIRANDASERVICE): int;
-
- {$else}
-
- function CallService(const szService: PChar; wParam: WPARAM; lParam: LPARAM): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(szService, wParam, lParam);
- end;
-
- function HookEvent(const szHook: PChar; hook_proc: TMIRANDAHOOK): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.HookEvent(szHook, @hook_proc);
- end;
-
- function UnhookEvent(const hHook: THandle): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.UnhookEvent(hHook);
- end;
-
- function CreateServiceFunction(const szName: PChar; const MirandaService: TMIRANDASERVICE): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CreateServiceFunction(szName, @MirandaService);
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_DATABASE}
-
- {$ifdef M_API_UNIT}
-
- function DBGetContactSettingByte(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
-
- function DBGetContactSettingWord(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
-
- function DBGetContactSettingDword(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
-
- function DBGetContactSetting(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; dbv: PDBVARIANT): Integer;
-
- function DBFreeVariant(dbv: PDBVARIANT): Integer;
-
- function DBDeleteContactSetting(hContact: THandle; const szModule: PChar; const szSetting: PChar): Integer;
-
- function DBWriteContactSettingByte(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: Byte): Integer;
-
- function DBWriteContactSettingWord(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: Word): Integer;
-
- function DBWriteContactSettingDWord(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: LongInt): Integer;
-
- function DBWriteContactSettingString(hContact: THandle; const szModule: PChar; const szSetting: PChar; const val: PChar): Integer;
-
- {$else}
-
- function DBGetContactSettingByte(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- dbv: TDBVARIANT;
- cgs: TDBCONTACTGETSETTING;
- begin
-
- cgs.szModule := szModule;
- cgs.szSetting := szSetting;
- cgs.pValue := @dbv;
-
- If PluginLink^.CallService(MS_DB_CONTACT_GETSETTING, hContact, lParam(@cgs)) <> 0 then
- Result := ErrorValue
- else
- Result := dbv.bVal;
- end;
-
- function DBGetContactSettingWord(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- dbv: TDBVARIANT;
- cgs: TDBCONTACTGETSETTING;
- begin
- cgs.szModule := szModule;
- cgs.szSetting := szSetting;
- cgs.pValue := @dbv;
- If PluginLink^.CallService(MS_DB_CONTACT_GETSETTING, hContact, lParam(@cgs)) <> 0 then
- Result := ErrorValue
- else
- Result := dbv.wVal;
- end;
-
- function DBGetContactSettingDword(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; errorValue: Integer): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- dbv: TDBVARIANT;
- cgs: TDBCONTACTGETSETTING;
- begin
- cgs.szModule := szModule;
- cgs.szSetting := szSetting;
- cgs.pValue := @dbv;
- If PluginLink^.CallService(MS_DB_CONTACT_GETSETTING, hContact, lParam(@cgs)) <> 0 then
- Result := ErrorValue
- else
- Result := dbv.dVal;
- end;
-
- function DBGetContactSetting(hContact: THandle;
- const szModule: PChar; const szSetting: PChar; dbv: PDBVARIANT): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cgs: TDBCONTACTGETSETTING;
- begin
- cgs.szModule := szModule;
- cgs.szSetting := szSetting;
- cgs.pValue := dbv;
- Result := PluginLink^.CallService(MS_DB_CONTACT_GETSETTING, hContact, lParam(@cgs));
- end;
-
- function DBFreeVariant(dbv: PDBVARIANT): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(MS_DB_CONTACT_FREEVARIANT, 0, lParam(dbv));
- end;
-
- function DBDeleteContactSetting(hContact: THandle; const szModule: PChar; const szSetting: PChar): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cgs: TDBCONTACTGETSETTING;
- begin
- cgs.szModule := szModule;
- cgs.szSetting := szSetting;
- Result := PluginLink^.CallService(MS_DB_CONTACT_DELETESETTING, hContact, lParam(@cgs));
- end;
-
- function DBWriteContactSettingByte(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: Byte): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cws: TDBCONTACTWRITESETTING;
- begin
- cws.szModule := szModule;
- cws.szSetting := szSetting;
- cws.value.type_ := DBVT_BYTE;
- cws.value.bVal := Val;
- Result := PluginLink^.CallService(MS_DB_CONTACT_WRITESETTING, hContact, lParam(@cws));
- end;
-
- function DBWriteContactSettingWord(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: Word): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cws: TDBCONTACTWRITESETTING;
- begin
- cws.szModule := szModule;
- cws.szSetting := szSetting;
- cws.value.type_ := DBVT_WORD;
- cws.value.wVal := Val;
- Result := PluginLink^.CallService(MS_DB_CONTACT_WRITESETTING, hContact, lParam(@cws));
- end;
-
- function DBWriteContactSettingDWord(hContact: THandle; const szModule: PChar; const szSetting: PChar; val: LongInt): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cws: TDBCONTACTWRITESETTING;
- begin
- cws.szModule := szModule;
- cws.szSetting := szSetting;
- cws.value.type_ := DBVT_DWORD;
- cws.value.dVal := Val;
- Result := PluginLink^.CallService(MS_DB_CONTACT_WRITESETTING, hContact, lParam(@cws));
- end;
-
- function DBWriteContactSettingString(hContact: THandle; const szModule: PChar; const szSetting: PChar; const val: PChar): Integer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- cws: TDBCONTACTWRITESETTING;
- begin
- cws.szModule := szModule;
- cws.szSetting := szSetting;
- cws.value.type_ := DBVT_ASCIIZ;
- cws.value.pszVal := Val;
- Result := PluginLink^.CallService(MS_DB_CONTACT_WRITESETTING, hContact, lParam(@cws));
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_NETLIB}
-
- {$ifdef M_API_UNIT}
-
- function Netlib_CloseHandle(Handle: THandle): int;
-
- function Netlib_GetBase64DecodedBufferSize(const cchEncoded: int): int;
-
- function Netlib_GetBase64EncodedBufferSize(const cbDecoded: int): int;
-
- function Netlib_Send(hConn: THandle; const buf: PChar; len: int; flags: int): int;
-
- function Netlib_Recv(hConn: THandle; const buf: PChar; len: int; flags: int): int;
-
- procedure Netlib_Log(hNetLib: THandle; const sz: PChar);
-
- {$else}
-
- function Netlib_CloseHandle(Handle: THandle): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(MS_NETLIB_CLOSEHANDLE, Handle, 0);
- end;
-
- function Netlib_GetBase64DecodedBufferSize(const cchEncoded: int): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := (cchEncoded shr 2) * 3;
- end;
-
- function Netlib_GetBase64EncodedBufferSize(const cbDecoded: int): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := (cbDecoded * 4+11) div 12*4+1;
- end;
-
- function Netlib_Send(hConn: THandle; const buf: PChar; len: int; flags: int): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- nlb: TNETLIBBUFFER;
- begin
- nlb.buf := buf;
- nlb.len := len;
- nlb.flags := flags;
- Result := PluginLink^.CallService(MS_NETLIB_SEND, wParam(hConn), lParam(@nlb));
- end;
-
- function Netlib_Recv(hConn: THandle; const buf: PChar; len: int; flags: int): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- nlb: TNETLIBBUFFER;
- begin
- nlb.buf := buf;
- nlb.len := len;
- nlb.flags := flags;
- Result := PluginLink^.CallService(MS_NETLIB_RECV, wParam(hConn), lParam(@nlb));
- end;
-
- procedure Netlib_Log(hNetLib: THandle; const sz: PChar);
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- PluginLink^.CallService(MS_NETLIB_LOG, hNetLib, lParam(sz));
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_UTILS}
-
- {$ifdef M_API_UNIT}
-
- function WindowList_Add(hList: THandle; hWnd: HWND; hContact: THandle): int;
-
- function WindowList_Remove(hList: THandle; hWnd: THandle): int;
-
- function WindowList_Find(hList: THandle; hContact: THandle): int;
-
- function WindowList_Broadcast(hList: THandle; message: int; wParam: WPARAM; lParam: LPARAM): int;
-
- function Utils_SaveWindowPosition(hWnd: THandle; hContact: THandle; const szModule, szNamePrefix: PChar): int;
-
- function Utils_RestoreWindowPosition(hWnd: THandle; hContact: THandle; Flags: int; const szModule, szNamePrefix: PChar): int;
-
- {$else}
-
- function WindowList_Add(hList: THandle; hWnd: hWnd; hContact: THandle): int;
- var
- wle: TWINDOWLISTENTRY;
- begin
- wle.hList := hList;
- wle.hWnd := hWnd;
- wle.hContact := hContact;
- Result := PluginLink^.CallService(MS_UTILS_ADDTOWINDOWLIST, 0, lParam(@wle));
- end;
-
- function WindowList_Remove(hList: THandle; hWnd: THandle): int;
- begin
- Result := PluginLink^.CallService(MS_UTILS_REMOVEFROMWINDOWLIST, hList, hWnd);
- end;
-
- function WindowList_Find(hList: THandle; hContact: THandle): int;
- begin
- Result := PluginLink^.CallService(MS_UTILS_FINDWINDOWINLIST, hList, hContact);
- end;
-
- function WindowList_Broadcast(hList: THandle; message: int; wParam: WPARAM; lParam: LPARAM): int;
- var
- msg: TMSG;
- begin
- msg.message := message;
- msg.wParam := wParam;
- msg.lParam := lParam;
- Result := PluginLink^.CallService(MS_UTILS_BROADCASTTOWINDOWLIST, hList, Integer(@Msg));
- end;
-
- function Utils_SaveWindowPosition(hWnd: THandle; hContact: THandle; const szModule, szNamePrefix: PChar): int;
- var
- swp: TSAVEWINDOWPOS;
- begin
- swp.hWnd := hWnd;
- swp.hContact := hContact;
- swp.szModule := szModule;
- swp.szNamePrefix := szNamePrefix;
- Result := PluginLink^.CallService(MS_UTILS_SAVEWINDOWPOSITION, 0, lParam(@swp));
- end;
-
- function Utils_RestoreWindowPosition(hWnd: THandle; hContact: THandle; Flags: int; const szModule, szNamePrefix: PChar): int;
- var
- swp: TSAVEWINDOWPOS;
- begin
- swp.hWnd := hWnd;
- swp.hContact := hContact;
- swp.szModule := szModule;
- swp.szNamePrefix := szNamePrefix;
- Result := PluginLink^.CallService(MS_UTILS_RESTOREWINDOWPOSITION, Flags, lParam(@swp));
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_LANGPACK}
-
- {$ifdef M_API_UNIT}
-
- function Translate(sz: PChar): PChar;
-
- function TranslateString(sz: string): string;
-
- function TranslateDialogDefault(hwndDlg: THandle): int;
-
- {$else}
-
- function Translate(sz: PChar): PChar;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- { the return value maybe NULL(0) -- it's upto the caller to know if the allocated
- string has to be removed from the DLL heap, this has little to do with Miranda,
- but if a dynamic string is passed and a return string is used -- the dynamic
- string is lost -- be careful, lazy? use TranslateString (note it's slower) }
- Result := PChar(PluginLink^.CallService(MS_LANGPACK_TRANSLATESTRING, 0, lParam(sz)));
- end;
-
- function TranslateString(sz: string): string;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := string(PChar( PluginLink^.CallService(MS_LANGPACK_TRANSLATESTRING, 0, lParam(sz))));
- end;
-
- function TranslateDialogDefault(hwndDlg: THandle): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- lptd: TLANGPACKTRANSLATEDIALOG;
- begin
- lptd.cbSize := sizeof(lptd);
- lptd.flags := 0;
- lptd.hwndDlg := hwndDlg;
- lptd.ignoreControls := nil;
- Result := PluginLink^.CallService(MS_LANGPACK_TRANSLATEDIALOG, 0, lParam(@lptd));
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_PROTOCOLS}
- {$ifdef M_API_UNIT}
-
- function CallContactService(hContact: THandle; const szProtoService: PChar; wParam: WPARAM; lParam: LPARAM): int;
-
- function CallProtoService(const szModule, szService: PChar; wParam: WPARAM; lParam: LPARAM): int;
-
- {$else}
-
- function CallContactService(hContact: THandle; const szProtoService: PChar; wParam: WPARAM; lParam: LPARAM): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- css: TCCSDATA;
- begin
- css.hContact := hContact;
- css.szProtoService := szProtoService;
- css.wParam := wParam;
- css.lParam := lParam;
- Result := PluginLink^.CallService(MS_PROTO_CALLCONTACTSERVICE, 0, Integer(@css));
- end;
-
- function CallProtoService(const szModule, szService: PChar; wParam: WPARAM; lParam: LPARAM): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- szStr: array[0..MAXMODULELABELLENGTH] of Char;
- begin
- strcpy(szStr, szModule);
- strcat(szStr, szService);
- Result := PluginLink^.CallService(szStr, wParam, lParam);
- end;
-
- {$endif}
-{$endif}
-
-{$ifdef M_PROTOMOD}
- {$ifdef M_API_UNIT}
-
- function ProtoBroadcastAck(const szModule: PChar; hContact: THandle; type_: int; result_: int; hProcess: THandle; lParam: LPARAM): int;
-
- function CreateProtoServiceFunction(const szModule, szService: PChar; serviceProc: TMIRANDASERVICE): int;
-
- {$else}
-
- function ProtoBroadcastAck(const szModule: PChar; hContact: THandle; type_: int; result_: int; hProcess: THandle; lParam: LPARAM): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- ack: TACKDATA;
- begin
- ack.cbSize := sizeof(TACKDATA);
- ack.szModule := szModule;
- ack.hContact := hContact;
- ack.type_ := type_;
- ack.result_ := result_;
- ack.hProcess := hProcess;
- ack.lParam := lParam;
- Result := PluginLink^.CallService(MS_PROTO_BROADCASTACK, 0, Integer(@ack));
- end;
-
- function CreateProtoServiceFunction(const szModule, szService: PChar; serviceProc: TMIRANDASERVICE): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- szStr: array[0..MAXMODULELABELLENGTH] of Char;
- begin
- strcpy(szStr, szModule);
- strcat(szStr, szService);
- Result := PluginLink^.CreateServiceFunction(szStr, @serviceProc);
- end;
-
- {$endif}
-
-{$endif}
-
-{$ifdef M_SKIN}
-
- {$ifdef M_API_UNIT}
-
- function LoadSkinnedIcon(id: int): THandle;
-
- function LoadSkinnedProtoIcon(const szProto: PChar; status: int): THandle;
-
- function SkinAddNewSound(const name, description, defaultFile: PChar): int;
-
- function SkinPlaySound (const name: PChar): int;
-
- {$else}
-
- function LoadSkinnedIcon(id: int): THandle;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(MS_SKIN_LOADICON, id, 0);
- end;
-
- function LoadSkinnedProtoIcon(const szProto: PChar; status: int): THandle;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(MS_SKIN_LOADPROTOICON, wParam(szProto), status);
- end;
-
- function SkinAddNewSound(const name, description, defaultFile: PChar): int;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- ssd: TSKINSOUNDDESC;
- begin
- ssd.cbSize := sizeof(ssd);
- ssd.pszName := name;
- ssd.pszDescription := description;
- ssd.pszDefaultFile := defaultFile;
- Result := PluginLink^.CallService(MS_SKIN_ADDNEWSOUND, 0, lParam(@ssd));
- end;
-
- function SkinPlaySound (const name: PChar): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := PluginLink^.CallService(MS_SKIN_PLAYSOUND, 0, lParam(name));
- end;
-
- {$endif}
-
-{$endif}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_history.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_history.inc
deleted file mode 100644
index 0cb817ace5..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_history.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_HISTORY}
-{$DEFINE M_HISTORY}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affects: Show's the history dialog box for a contact, see notes
- Notes : MCONTACT can be NULL(0) to show system messages
- }
- MS_HISTORY_SHOWCONTACTHISTORY = 'History/ShowContactHistory';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_icq.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_icq.inc
deleted file mode 100644
index a498513f01..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_icq.inc
+++ /dev/null
@@ -1,191 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_ICQ}
-{$DEFINE M_ICQ}
-
-const
-
- // extra database event type
- ICQEVENTTYPE_WEBPAGER = 2003;
-
- // extra flags for PSS_MESSAGE
- PIMF_ROUTE_DEFAULT = 0;
- PIMF_ROUTE_DIRECT = $10000;
- PIMF_ROUTE_THRUSERVER = $20000;
- PIMF_ROUTE_BESTWAY = $30000;
- PIMF_ROUTE_MASK = $30000;
-
- // for SMS
-
- ICQACKTYPE_SMS = 1001;
- ICQEVENTTYPE_SMS = 2001; // database event type
-
- // for e-mail express
-
- {
- BLOB:
- text: ASCIIZ usually in the form "Subject: %s\r\n%s"
- from-name: ASCIIZ
- from-e-mail: ASCIIZ
- }
-
- ICQEVENTTYPE_EMAILEXPRESS = 2002;
-
- // for server side lists, used internally only
-
- // hProcess=dwSequence, lParam=server's error code, 0 for success
- ICQACKTYPE_SERVERCLIST = 1003;
-
-{$ifndef m_protosvc}
- {$include m_protosvc.inc}
-{$endif}
-
-type
-
- PICQSEARCHRESULT = ^TICQSEARCHRESULT;
- TICQSEARCHRESULT = record
- hdr: TPROTOSEARCHRESULT;
- uin: DWORD;
- auth: Byte;
- end;
-
- PICQDETAILSSEARCH = ^TICQDETAILSSEARCH;
- TICQDETAILSSEARCH = record
- nick: PChar;
- firstName: PChar;
- lastNamee: PChar;
- end;
-
-const
-
- {
- wParam : 0
- lParam : null terminated string containing e-mail to search
- affects: Start a search for all ICQ users by e-mail -- see notes
- returns: Returnss a handle to the search on success, NULL(0) on failure
- notes : uses the same scheme as PSS_BASICSEARCH,
- *DEPRECATED* in favour of PS_SEARCHBYEMAIL
- }
- MS_ICQ_SEARCHBYEMAIL = 'ICQ/SearchByEmail';
-
- {
- wParam : 0
- lParam : POinter to a TICQDETAILSSEARCH structure
- Affect : Start a search of all ICQ users by details, see notes
- Returns: A handle to the search on success, NULL(0) on failure
- Notes : Results are returned in the same scheme as in PSS_BASICSEARCH,
- Not recommended, use PS_SEARCHBYNAME
- }
- MS_ICQ_SEARCHBYDETAILS = 'ICQ/SearchByDetails';
-
- {
- wParam : Pointer to a null terminated string containing phone number
- lParam : Pointer to a null terminated string containing the message
- Affect : Send an SMS via the ICQ network, See notes
- Returns: Handle to the send on success, NULL(0) on failure
- Notes : the phone number should be the full number with internation code
- and prefixed by + e.g. +44<numba>
- }
- MS_ICQ_SENDSMS = 'ICQ/SendSMS';
-
- {
- wParam : level
- lParam : null terminated string containing logging message
- Affect : a logging message was sent from ICQLib
- }
- ME_ICQ_LOG = 'ICQ/Log';
-
-{$ENDIF}
-
- {$ifdef __}
-//Changing user info:
-//See documentation of PS_CHANGEINFO
-//The changing user info stuff built into the protocol is purposely extremely
-//thin, to the extent that your data is passed as-is to the server without
-//verification. Don't mess up.
-//Everything is byte-aligned
-//WORD: 2 bytes, little-endian (that's x86 order)
-//DWORD: 4 bytes, little-endian
-//LNTS: a WORD containing the length of the string, followed by the string
-// itself. No zero terminator.
-#define ICQCHANGEINFO_MAIN 0xEA03
-/* pInfoData points to:
- WORD datalen
- LNTS nick
- LNTS first
- LNTS last
- LNTS email
- LNTS city
- LNTS state
- LNTS phone
- LNTS fax
- LNTS street
- LNTS cellular (if SMS-able string contains an ending ' SMS')
- LNTS zip
- WORD country
- BYTE gmt
- BYTE unknown, usually 0
-*/
-#define ICQCHANGEINFO_MORE 0xFD03
-/* pInfoData points to:
- WORD datalen
- BYTE age
- BYTE 0
- BYTE sex
- LNTS homepage
- WORD birth-year
- BYTE birth-month
- BYTE birth-day
- BYTE lang1
- BYTE lang2
- BYTE lang3
-*/
-#define ICQCHANGEINFO_ABOUT 0x0604
-/* pInfoData points to:
- WORD datalen
- LNTS about
-*/
-#define ICQCHANGEINFO_WORK 0xF303
-/* pInfoData points to:
- WORD datalen
- LNTS city
- LNTS state
- DWORD 0
- LNTS street
- LNTS zip
- WORD country
- LNTS company-name
- LNTS company-dept
- LNTS company-position
- WORD 0
- LNTS company-web
-*/
-#define ICQCHANGEINFO_PASSWORD 0x2E04
-/* pInfoData points to:
- WORD datalen
- LNTS newpassword
-*/
- {$endif}
-
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_ignore.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_ignore.inc
deleted file mode 100644
index 9ddcde2759..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_ignore.inc
+++ /dev/null
@@ -1,74 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_IGNORE}
-{$DEFINE M_IGNORE}
-
- { this module only provides UI and storage for blocking only, protocol modules
- are responsible for implementing the block }
-
-const
-
- IGNOREEVENT_ALL = LPARAM(-1);
- IGNOREEVENT_MESSAGE = 1;
- IGNOREEVENT_URL = 2;
- IGNOREEVENT_FILE = 3;
- IGNOREEVENT_USERONLINE = 4;
- IGNOREEVENT_AUTHORIZATION=5;
- IGNOREEVENT_YOUWEREADDED=6; // 0.3.3a+
-
- {
- wParam : MCONTACT
- lParam : IGNOREEVENT_*
- Affects: Determines if a message type to a contact should be ignored, see notes
- Returns: 0 if the message type MUST be shown [non zero] if it MUST be ignored
- Notes : MCONTACT can be NULL(0) to see what to do with a contact
- that isn't on the list (or is unknown in some way)
- don't use the IGNOREEVENT_ALL type!
- Version: v0.1.0.1+
- }
- MS_IGNORE_ISIGNORED = 'Ignore/IsIgnored';
-
- {
- wParam : MCONTACT
- lParam : IGNOREEVENT_* constant
- Affects: Ignore future messages from a contact, see notes
- Returns: 0 on success, [nonzero] on failure
- Notes : wParam: NULL(0) can be used to see if an unknown contact should be ignored
- or not - you can't SET unknown contact's ignore types, this is to stop
- a plugin allowing certain functions (I guess)
- Version: v0.1.0.1+
- }
- MS_IGNORE_IGNORE = 'Ignore/Ignore';
-
- {
- wParam : MCONTACT
- lParam : IGNOREEVENT_*
- Affects: Receive future messages from a contact -- of the given type, see notes
- Returns: 0 on success, non zero on failure
- Notes : Use NULL(0) for MCONTACT to retrieve the setting for an unknown contact
- Version: v0.1.0.1+
- }
- MS_IGNORE_UNIGNORE = 'Ignore/Unignore';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_langpack.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_langpack.inc
deleted file mode 100644
index 2c1f99478c..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_langpack.inc
+++ /dev/null
@@ -1,82 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_LANGPACK}
-{$DEFINE M_LANGPACK}
-
-const
-
- {
- wParam : 0
- lParam : pointer to a null terminated string
- Affects: Returns a pointer to a localised string, if there is no known
- translation it will return lParam, the return value does *not*
- have to be freed in anyway (if successful) -- see notes
- Returns: a pointer to a null terminated string
- Notes : No check is done to see if Miranda has the required version
- Version: v0.1.1.0+
- }
- MS_LANGPACK_TRANSLATESTRING = 'LangPack/TranslateString';
-
- {
- wParam : 0
- lParam : Pointer to a LANGPACKTRANSLATEDIALOG initialised structure, see notes
- Affects: Translates a dialog into the user's local language
- Returns: 0 on successs [non zero] on failure
- Notes : this service only knows about the following window classes/elements:
- Window titles, STATIC, EDIT, Hyperlink, BUTTON.
- Version: v0.1.1.0+
- }
-
-type
-
- PLANGPACKTRANSLATEDIALOG = ^TLANGPACKTRANSLATEDIALOG;
- TLANGPACKTRANSLATEDIALOG = record
- cbSize: int;
- flags: DWORD;
- hwndDlg: THandle;
- ignoreControls: ^Integer; // pointer to an array of integers? mebbe?
- end;
-
-const
-
- { translate all edit controls, by default non-read-only edit controls are not }
- LPTDF_NOIGNOREEDIT = 1;
- { don't translate the title of the dialog }
- LPTDF_NOTITLE = 2;
-
- MS_LANGPACK_TRANSLATEDIALOG = 'LangPack/TranslateDialog';
-
- {
- wParam : HMENU handle (WinAPI handle to a menu)
- lParam : 0
- Affects: Translates a menu into the user's local language -- see notes
- Returns: 0 on success [non zero] on failure
- Notes : This doesn't work with owner draw menus that store their
- captions in a structure known by the owner -- something to be aware of ;)
- version: v0.1.1.0+
- }
- MS_LANGPACK_TRANSLATEMENU = 'LangPack/TranslateMenu';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_message.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_message.inc
deleted file mode 100644
index 777c1c4a0f..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_message.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_MESSAGE}
-{$DEFINE M_MESSAGE}
-
-const
-
- {
- wParam : MCONTACT
- lParam : Pointer to a null terminated string
- Affects: brings up the send message dialog for a contact, see notes
- Returns: 0 on success, non zero on failure
- Notes : returns immediately, just after the send dialog is shown,
- the lParam is entered into the editbox of the window,
- but it's not sent.
- Version: v0.1.2.0+ only supports a string, prior NULL(0) is expected
- this service was defined as 'SRMsg/LaunchMessageWindow'
- use both if compatibility use both, the correct one will work,
- but don't rely on the message to be displayed
-
- }
- MS_MSG_SENDMESSAGE = 'SRMsg/SendCommand';
- MS_MSG_SENDMESSAGE_OLD = 'SRMsg/LaunchMessageWindow';
-
- {
- wParam : 0
- lParam : Pointer to a null termed string
- Affects: displays the send message dialog with the 'multiple' option open
- and no contacts selected
- Returns: Returns 0 on success, nonzero on failure
- Version: only present after v0.1.2.1+
- }
- MS_MSG_FORWARDMESSAGE = 'SRMsg/ForwardMessage';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_netlib.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_netlib.inc
deleted file mode 100644
index 6ce0ca8e9e..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_netlib.inc
+++ /dev/null
@@ -1,711 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_NETLIB}
-{$DEFINE M_NETLIB}
-
-{>>/
-
- NetLib :
-
- Instead of you writing all the code for working with sockets and supporting
- app level protocols such as SOCKS5, it's all done for you.
-
- NetLib takes care of all that and you can even register a special abstract
- nexus, e.g. ICQ direct, the user can configure all this from the options dialog
- and you don't have to bother with any of it.
-
- NetLib wraps up any Winsock calls but you can still get the socket handle
- from your netlib handle and do stuff.
-
- It gives all modules an abstract way of dealing with transport -- mainly sockets
- and proxies, Now the but..
-
- It's new (mmmm) thus unsupported by any older version of Miranda, and if you
- want to be lazy and not write any "wrapper" mini netlib then you'll have
- the kudos of "only works with nightly build version of Miranda" :)
-
-/<<}
-
- {$ifndef M_SYSTEM}
- {$include m_system.inc}
- {$endif}
-
-const
-
- // for TNETLIBUSER.flags
-
- { bind incoming ports }
- NUF_INCOMING = $01;
- { makes outgoing plain connections }
- NUF_OUTGOING = $02;
- { can use HTTP gateway for plain sockets. ???HttpGateway* are valid,
- enables the HTTP proxy option, displayed in options }
- NUF_HTTPGATEWAY = $04;
- { don't show this as an entry for custom settings to be defined for,
- TNETLIB.szDescriptiveName is ignored }
- NUF_NOOPTIONS = $08;
- { some connections are made for HTTP communication,
- enables the HTTP proxy option, displayed in options }
- NUF_HTTPCONNS = $10;
- { Disables the HTTPS proxy option in options, Use this if all communication
- is HTTP }
- NUF_NOHTTPSOPTION = $20;
-
- // for TNETLIBUSERSETTINGS.proxyType
-
- { SOCKS4 -- No DNS or multi addressing mode (proxy side) -- optional username can
- be given, no password }
- PROXYTYPE_SOCKS4 = 1;
- { SOCKS5 -- DNS names can be given as addresses to connect to, optional
- plain text username/password scheme (which may cause failure due to denied access)
- IP address maybe returned for DNS addresses -- thus server side DNS }
- PROXYTYPE_SOCKS5 = 2;
- PROXYTYPE_HTTP = 3;
- PROXYTYPE_HTTPS = 4;
-
- // for TNETLIBOPENCONNECTION.flags
-
- { this connection will be useed for HTTP communications,
- if configured for an HTTP(S) proxy the connection is opened as if there
- was no proxy }
-
- NLOCF_HTTP = $0001;
-
- // for TNETLIBHTTPPROXYINFO.flags
-
- { append sequence numbers to GET requests }
- NLHPIF_USEGETSEQUENCE = $0001;
- { append sequence numbers to POST requests }
- NLHPIF_USEPOSTSEQUENCE = $0002;
- { GET and POST use the same sequence }
- NLHPIF_GETPOSTSAMESEQUENCE = $0004;
-
- // for TNETLIBHTTPREQUEST.flags, .requestType
-
- { used by MS_NETLIB_RECVHTTPHEADERS returned structure }
-
- REQUEST_RESPONSE = 0;
- REQUEST_GET = 1;
- REQUEST_POST = 2;
- REQUEST_CONNECT = 3;
-
- { auto generate a 'host' header from .szUrl }
- NLHRF_GENERATEHOST = $00000001;
- { remove any host and/or protocol portion of szUrl before sending it }
- NLHRF_REMOVEHOST = $00000002;
- { removes host and/or protocol from szUrl unless the connection was
- opened through an HTTP or HTTPS proxy. }
- NLHRF_SMARTREMOVEHOST = $00000004;
- { if the connection was opened through an HTTP or HTTPS proxy then
- send a Proxy-Authorization header if required. }
- NLHRF_SMARTAUTHHEADER = $00000008;
- { never dump this to the log }
- NLHRF_NODUMP = $00010000;
- { don't dump http headers (only useful for POSTs and MS_NETLIB_HTTPTRANSACTION }
- NLHRF_NODUMPHEADERS = $00020000;
- { this transaction is a proxy communication. For dump filtering only. }
- NLHRF_DUMPPROXY = $00040000;
- { dump posted and reply data as text. Headers are always dumped as text. }
- NLHRF_DUMPASTEXT = $00080000;
-
- // for TNETLIBBUFFER.flags
-
- { don't wrap outgoing packet using TNETLIBUSER.pfnHttpGatewayWrapSend }
- MSG_NOHTTPGATEWAYWRAP = $010000;
- { don't dump this packet to the log }
- MSG_NODUMP = $020000;
- { this iss proxy communication, for dump filtering only }
- MSG_DUMPPROXY = $040000;
- { don't dump as hex, it's text }
- MSG_DUMPASTEXT = $080000;
- { send as raw, bybpass HTTP proxy stuff }
- MSG_RAW = $100000;
-
-
- // all record types structures are declared in their own block because the C header
- // file used forward declaration (to get typed parameters for certain function pointers)
- // This sort of define-type-pointer-before-type can only be done in the same type block
- // in D2 (don't know about later versions)
-
-type
-
- { forward typed pointers to records }
-
- PNETLIBOPENCONNECTION = ^TNETLIBOPENCONNECTION;
- PNETLIBHTTPREQUEST = ^TNETLIBHTTPREQUEST;
-
- { This function pointer is to the CRT realloc() used by Miranda -- it allows reallocation of memory passed
- to us (not that we could EVER share the same CRT) but to allow DLLs in general to reallocate memory }
- TNetlibRealloc = function(Mem: Pointer; size_t: int): Pointer; cdecl;
- TNetlibHTTPGatewayInitProc = function(hConn: THandle; nloc: PNETLIBOPENCONNECTION; nlhr: PNETLIBHTTPREQUEST): int; cdecl;
- TNetlibHTTPGatewayBeginProc = function(hConn: THandle; nloc: PNETLIBOPENCONNECTION): int; cdecl;
- TNetlibHTTPGatewayWrapSendProc = function(hConn: THandle; buf: PByte; len: int; flags: int; pfnNetLibSend: TMIRANDASERVICE): int; cdecl;
- TNetlibHTTPGatewayUnwrapRecvProc = function(nlhr: PNETLIBHTTPREQUEST; buf: PByte; len: int; outBufLen: pInt; NetlibRealloc: TNetlibRealloc): PByte; cdecl;
-
- PNETLIBUSER = ^TNETLIBUSER;
- TNETLIBUSER = record
- cbSize: int;
- { used for DB settings and log, 'NL' stuff }
- szSettingsModule: PChar;
- { shows a descriptive name for which different proxy settings can be defined }
- szDescriptiveName: PChar;
- { see NUF_* constants above }
- flags: DWORD;
- szHttpGatewayHello: PChar;
- { can be NULL(0) to send no User-Agent: also used by HTTPS proxies }
- szHttpGatewayUserAgent: PChar;
- pfnHttpGatewayInit: TNetlibHTTPGatewayInitProc;
- { can be NULL(0) if no begin is required }
- pfnHttpGatewayBegin: TNetlibHTTPGatewayBeginProc;
- { can be NULL(0) if no wrapping is required }
- pfnHttpGatewayWrapSend: TNetlibHTTPGatewayWrapSendProc;
- { can be NULL(0) " " }
- pfnHttpGatewayUnwrapRecv: TNetlibHTTPGatewayUnwrapRecvProc;
- { only if NUF_INCOMING, will be used for validation of user input }
- minIncomingPorts: int;
- end;
-
- PNETLIBUSERSETTINGS = ^TNETLIBUSERSETTINGS;
- TNETLIBUSERSETTINGS = record
- { filled before calling }
- cbSize: int;
- { 1 or 0 }
- useProxy: int;
- { PROXYTYPE_* constant, see above }
- proxyType: int;
- { can be NULL(0) }
- szProxyServer: PChar;
- { in host byte order }
- wProxyPort: int;
- { 1 or 0, always 0 for SOCKS4 (doesn't have auth) }
- useProxyAuth: int;
- { can be NULL(0), always used by SOCKS4 }
- szProxyAuthUser: PChar;
- { can be NULL(0) }
- szProxyAuthPassword: PChar;
- { 1 or 0, only used by HTTP, HTTPS }
- useProxyAuthNtlm: int;
- { 1 or 0 }
- dnsThroughProxy: int;
- { 1 or 0 }
- specifyIncomingPorts: int;
- { can be NULL(0), form '1024-1050,1060-1070,2000' }
- szIncomingPorts: PChar;
- end;
-
- TNetlibNewConnectionProc = procedure(hNewConnection: THandle; dwRemoveIP: DWORD); cdecl;
-
- PNETLIBBIND = ^TNETLIBBIND;
- TNETLIBBIND = record
- cbSize: int;
- { function to call when there's a new connection, dwRemoteIP is in host byte
- order -- the handle is to the new connection }
- pfnNewConnection: TNetlibNewConnectionProc;
- { set on return, host byte order }
- dwInternalIP: DWORD;
- { set on return, host byte order }
- wPort: WORD;
- end;
-
- { Pointered type is above }
- TNETLIBOPENCONNECTION = record
- cbSize: int;
- szHost: PChar; // can be an IP in string form
- wPort: Word;
- flags: DWORD; // see NLOCF_* flags
- end;
-
- PNETLIBHTTPPROXYINFO = ^TNETLIBHTTPPROXYINFO;
- TNETLIBHTTPPROXYINFO = record
- cbSize: int;
- { see NLHPIF_* above }
- flags: DWORD;
- szHttpPostUrl: PChar;
- szHttpGetUrl: PChar;
- firstGetSequence: int;
- firstPostSequence: int;
- end;
-
- PNETLIBBASE64 = ^TNETLIBBASE64;
- TNETLIBBASE64 = record
- pszEncoded: PChar;
- cchEncoded: int;
- pbDecoded: PByte;
- cbDecoded: int;
- end;
-
- PNETLIBHTTPHEADER = ^TNETLIBHTTPHEADER;
- TNETLIBHTTPHEADER = record
- szName: PChar;
- szValue: PChar;
- end;
-
- { PNETLIBHTTPREQUEST = ^TNETLIBHTTPREQUEST, defined above because this is
- forward referenced from there }
- TNETLIBHTTPREQUEST = record
- cbSize: int;
- requestType: int; // REQUEST_* constant
- flags: DWORD;
- szUrl: PChar;
- { doesn't contain Content-Length, it'll be added automatically }
- headers: PNETLIBHTTPHEADER; // pointer to an array of em?
- headersCount: int; // yes they do
- pData: PChar; // data to be sent on POST request
- dataLength: int; // must be 0 for REQUEST_GET/REQUEST_CONNECT
- resultCode: int;
- szResultDescr: PChar;
- end;
-
- PNETLIBBUFFER = ^TNETLIBBUFFER;
- TNETLIBBUFFER = record
- buf: PChar;
- len: int;
- { see MSG_* constants above }
- flags: int;
- end;
-
- PNETLIBSELECT = ^TNETLIBSELECT;
- TNETLIBSELECT = record
- cbSize: int;
- dwTimeout: DWORD; // in milliseconds, INFINITE is acceptable
- hReadConns: array[0..64+1] of THandle;
- hWriteConns: array[0..64+1] of THandle;
- hExceptConns: array[0..64+1] of THandle;
- end;
-
- PNETLIBPACKETRECVER = ^TNETLIBPACKETRECVER;
- TNETLIBPACKETRECVER = record
- cbSize: int;
- { infinite is allowed -- initialise before use }
- dwTimeout: DWORD;
- { this many bytes are removed from the start of the buffer,
- set to 0 on return -- initialise before use }
- bytesUsed: int;
- { equal the returnd value by service, unless the return value is 0 (connection closed) }
- bytesAvailable: int;
- { same as the parameter given to MS_NETLIB_CREATEPACKETRECVER: wParam }
- bufferSize: int;
- { contains the read data }
- buffer: PByte;
- end;
-
-const
-
- {
- wParam : 0
- lParam : Pointer to an initalised TNETLIBUSER structure
- Affects: Initialises the netlib for a set of connections, see notes
- Returns: Returns a handle for future netlib calls, NULL on failure.
- Notes : Netlib is loaded AFTER all plugins, thus a call to this service
- in Load() will fail, hook ME_SYSTEM_MODULESLOADED and call it
- from there.
- -
- Netlib will save settings under .szSettings module, all settings
- (being?) begin with 'NL'.
- -
- Defacto settings are the same as <All connections> combobox entry option
- as seen in Miranda->Options->Network
- Version: v0.1.2.2+
- Errors : ERROR_INVALID_PARAMETER, ERROR_OUTOFMEMORY, ERROR_DUP_NAME
- }
- MS_NETLIB_REGISTERUSER = 'Netlib/RegisterUser';
-
- {
- wParam : HANDLE
- lParam : Pointer to a initalised TNETLIBUSERSETTINGS structure
- Affects: Gets the user configured settings for a Netlib user, see notes
- Returns: [non zero] on SUCCESS, NULL(0) on failure
- Notes : .cbSize must be filled with sizeof() before calling --
- the returned null terminated strings (in the structure) are valid
- as long as HANDLE remains open or proxy options are changed
- again, do not rely on them being around forever.
- Version: v0.1.2.2+
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_GETUSERSETTINGS = 'Netlib/GetUserSettings';
-
- {
- wParam : HANDLE
- lParam : Pointer to a initalised NETLIBUSERSETTINGS structure
- Affect : Changes the configurable settings for a Netlib user -- see notes
- Returns: [non zero] on success, NULL(0) on failure
- Notes : This service is only really useful for people that specify NUF_NOOPTIONS
- when registering and want to create their own options.
- Settings will be stored even if the option to enable it, is it not enabled,
- e.g. useProxyAuth is 0, szProxyAuthPassword will still be saved
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_SETUSERSETTINGS = 'Netlib/SetUserSettings';
-
- {
- wParam : HANDLE / SOCKET
- lParam : 0
- Affects: Closes a handle, see notes
- Returns: Returns [non zero] on success, NULL(0) on failure
- Notes : All netlib handles should be closed once they're finished with,
- If a SOCKET type is passed instead of netlib handle type, it is closed
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_CLOSEHANDLE = 'Netlib/CloseHandle';
-
- {
- wParam : HANDLE
- lParam : Pointer to a initialised TNETLIBBIND
- Affects: Open a port and wait for connections on it -- see notes
- Returns: Returns a handle on success, NULL(0) on failure
- Notes : this function does the equivalent of socket(), bind(), getsockname(),
- listen(), accept() -- internally this function creates a new thread
- which waits around in accept() for new connections.
- When one is received, TNETLIBBIND.pfnNewConnection is called,
- from the context of the NEW thread and then it
- returns to waiting for connections.
- -
- Close the returned handle to end the thread and close the port.
- -
- Errors : ERROR_INVALID_PARAMETER, any returned by socket(), bind(), listen()
- getsockname()
- }
- MS_NETLIB_BINDPORT = 'Netlib/BindPort';
-
- {
- wParam : HANDLE
- lParam : Pointer to an initalised TNETLIBOPENCONNECTION structure
- Affects: Opens a connection -- see notes
- Returns: Returns a Handle to a new connection on success, NULL(0) on failure
- Notes : internally this service is the equivalent of socket(), gethostbyname(),
- connect()
- -
- If NLOCF_HTTP is set and HANDLE is configured for HTTP(S) proxy
- then this function will connect() to that proxy server ONLY,
- without performing any initialisation conversation.
- -
- If HANDLE is configured for an HTTP proxy and does not support
- HTTP gateways and you try to open a connection without NLOCF_HTTP
- then this service will first attempt to open an HTTPS connection,
- if that fails, it will try a direct connection, if *that* fails
- then it will return failure with the error
- from connect() during the connection attempt
- Errors : ERROR_INVALID_PARAMETER, any returned by socket(), gethostbyname(),
- connect(), MS_NETLIB_SEND, MS_NETLIB_RECV, select()
- -
- ERROR_TIMEOUT (during proxy communication)
- ERROR_BAD_FORMAT (very invalid proxy reply)
- ERROR_ACCESS_DENIED (by proxy)
- ERROR_CONNECTION_UNAVAIL (socks proxy can't connect to identd)
- ERROR_INVALID_ACCESS (proxy refused identd auth)
- ERROR_INVALID_DATA (proxy returned invalid code)
- ERROR_INVALID_ID_AUTHORITY (proxy requires use of auth method that's not supported)
- ERROR_GEN_FAILURE (socks5/https general failure)
- ERROR_CALL_NOT_IMPLEMENTED (socks5 command not supported)
- ERROR_INVALID_ADDRESS (socks5 address type not supported)
- -
- HTTP: anything from TNETLIBUSER.pfnHttpGatewayInit, TNETLIBUSER.pfnHttpGatewayBegin,
- MS_NETLIB_SENDHTTPREQUEST or MS_NETLIB_RECVHTTPHEADERS
- }
- MS_NETLIB_OPENCONNECTION = 'Netlib/OpenConnection';
-
- {
- wParam : HANDLE
- lParam : Pointer to an initialised NETLIBHTTPPROXYINFO structure
- Affects: Sets the required information for an HTTP proxy connection -- see notes
- Returns: [non zero] on success, NULL(0) on failure
- Notes : This service is designed to be called from
- within TNETLIBUSER.pfnHttpGatewayInit (see notes in C header under
- MS_NETLIB_REGISTERUSER)
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_SETHTTPPROXYINFO = 'Netlib/SetHttpProxyInfo';
-
- {
- wParam : HANDLE
- lParam : 0
- Affects: Get's the SOCKET associated with a handle -- see notes
- Returns: the SOCKET on success, INVALID_SOCKET on failure
- Notes : The Netlib handle passed to this service should only be passed
- if they were returned with MS_NETLIB_OPENCONNECTION or MS_NETLIB_BINDPORT
- -
- Be careful how you use this socket because you might be connected via an
- HTTP proxy, in which case calling send/recv() will break things
- -
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_GETSOCKET = 'Netlib/GetSocket';
-
- {
- wParam : 0
- lParam : Pointer to a null terminated string
- Affects: URL-encodes a string for x-www-form-urlencoded (and other uses) -- see notes
- Returns: A pointer to a null terminated string, NULL(0) on failure
- Notes : The returned string must be freed after it's no longer needed using mir_free
- Errors : ERROR_INVALID_PARAMETER, ERROR_OUTOFMEMORY
- }
- MS_NETLIB_URLENCODE = 'Netlib/UrlEncode';
-
- {
- wParam : 0
- lParam : Pointer to a TNETLIBBASE64 initialised structure
- Affects: Decodes a Base64 null terminated string, see notes
- Returns: [non zero] on success, NULL(0) on failure
- Notes : TNETLIBBASE64.pszEncoded and cchEncoded must contain a pointer to
- a buffer to use as input, and it's length, the length
- should not include space taken for null termination --
- -
- Output is placed in ..pbDecoded and ..cbDecoded for buffer and
- length of buffer -- the maxiumum output for a given input can
- be worked out with Netlib_GetBase64DecodedBufferSize() function
- see below.
- -
- For more information on Base64 see rfc-1421.
- Errors : ERROR_INVALID_PARAMETER, ERROR_INVALID_DATA, ERROR_BUFFER_OVERFLOW
- }
- MS_NETLIB_BASE64DECODE = 'Netlib/Base64Decode';
-
- {
- wParam : 0
- lParam : Pointer to an initialised TNETLIBBASE64 structure
- Affect : Base64 encode a string, see notes
- Returns: [non zero] on success, NULL(0) on failure
- Notes : TNETLIBBASE64.pbDecode and TNETLIBBASE64.cbDecoded contain
- the input buffer and it's length --
- TNETLIBBASE64.pszEncoded and TNETLIBBASE64.cchEncoded contain the
- buffer in which to put the output and it's length.
- -
- The maximum output size for a given input can be worked
- out with the function Netlib_GetBase64EncodedBufferSize() below
- .pszEncoded is null terminated, on return TNETLIBBASE64.cchEncoded
- is set to the actual length excluding 0.
- Errors : ERROR_INVALID_PARAMETER, ERROR_BUFFER_OVERFLOW
- }
- MS_NETLIB_BASE64ENCODE = 'Netlib/Base64Encode';
-
- {
- wParam : HANDLE
- lParam : Pointer to a initialised TNETLIBHTTPREQUEST structure
- Affect : Send an HTTP request over a connection, see notes
- Returns: The number of bytes on success, SOCKET_ERROR on failure
- Notes : HANDLE must of been returned by MS_NETLIB_OPENCONNECTION,,
- If you use NLHRF_SMARTAUTHHEADER and NTLM auth is in use then
- full NTLM auth transcation occurs, comprising sending the
- domain, getting the challenge, sending the response.
- NETLIBHTTPREQUEST.resultCode and NETLIBHTTPREQUEST.szResultDescr are
- ignored by this service.
- Errors : ERROR_INVALID_PARAMETER, MS_NETLIB_SEND (return codes)
- }
- MS_NETLIB_SENDHTTPREQUEST = 'Netlib/SendHttpRequest';
-
- {
- wParam : HANDLE
- lParam : 0
- Affect : Receive HTTP headers, see notes
- Returns: A pointer to a TNETLIBHTTPREQUEST structure on success, NULL(0) on failure
- Notes : The returned pointer must be freed after it's done with
- use MS_NETLIB_FREEHTTPREQUESTSTRUCT.
- -
- HANDLE must be returned by MS_NETLIB_OPENCONNECTION
- -
- Return^.pData=NIL and Return^.dataLength=0 always
- -
- The returned data should be retrieved using MS_NETLIB_RECV once
- the headers have been parsed.
- If headers haven't finished within 60 seconds the function returns
- NULL(0) and ERROR_TIMEOUT
- Errors : ERROR_INVALID_PARAMETER, any MS_NETLIB_RECV or select()
- ERROR_HANDLE_EOF (connection closed bfore headers complete)
- ERROR_TIMEOUT (headers still not complete after 60 seconds)
- ERROR_BAD_FORMAT (invalid character or line ending in headers, or first line is blank)
- ERROR_BUFFER_OVERFLOW (each header line must be less than 4096 chars long)
- ERROR_INVALID_DATA (first header line is malformed ("http/[01].[0-9] [0-9]+ .*", or no colon in subsequent line)
-
- }
- MS_NETLIB_RECVHTTPHEADERS = 'Netlib/RecvHttpHeaders';
-
- {
- wParam : 0
- lParam : Pointer returned by MS_NETLIB_RECVHTTPHEADERS to free
- Affect : Free the memory used by a TNETLIBHTTPREQUEST structure, see notes
- Returns: [non zero] on success, NULL(0) on failure
- Notes : This service should only be used with memory pointers returned
- by either MS_NETLIB_RECVHTTPHEADERS or MS_NETLIB_HTTPTRANSACTION!.
- Errors : ERROR_INVALID_PARAMETER
-
- }
- MS_NETLIB_FREEHTTPREQUESTSTRUCT = 'Netlib/FreeHttpRequestStruct';
-
- {
- wParam : HANDLE
- lParam : Pointer to a TNETLIBHTTPREQUEST structure
- Affect : Carry out an entire HTTP transaction, see notes
- Returns: another pointer to a TNETLIBHTTPREQUEST structure or NULL(0)
- on failure
- Notes : The returned pointer must be freed at some point
- with MS_NETLIB_FREEHTTPREQUESTSTRUCT,
- -
- TNETLIBHTTPREQUEST.szUrl should have a full HTTP URL, if it
- does not start with http://, that will be assumed, but do not
- take this assumption to stay assumed (heh..) in the future
- -
- this service equivalent of open(), sendhttp(), getheaders()
- netlib_recv(), netlib_closehandle()
- -
- TNETLIBHTTPREQUEST.headers will be added to with the following
- headers if they're not already present :
- "Host" (even if it is requested in .flags)
- "User-Agent" (in form : 'Miranda/d.d.d.d <(status of release)>')
- "Content-Length" (for POSTs only, set to TNETLIBHTTPREQUEST.dataLength)
-
- If you don't want to send any of these headers --
- set TNETLIBHTTPREQUEST.headers to NULL(0)
- -
- In the returned pointer, pData[dataLen] is always 0 for 'safety'
- also : headers, headersCount, pData, dataLength, resultCode and
- szResultDescr are all valid
- -
- Also take care not to assume that a returned pointer means that
- at the HTTP level it all worked out -- refer to the resultCode for
- 2xx before doing anything else
- -
- Errors : ERROR_INVALID_PARAMETER, ERROR_OUTOFMEMORY
- Errors returned by the aforementioned internally used functions
- }
- MS_NETLIB_HTTPTRANSACTION = 'Netlib/HttpTransaction';
-
- {
- wParam : HANDLE
- lParam : Pointer to an initialised TNETLIBBUFFER structure
- Affect : Send data over an open connection see notes
- Returns: The number of bytes sent on success, SOCKET_ERROR on failure
- Notes : see Netlib_Send() helper function
- Errors : ERROR_INVALID_PARAMETER,
- anything from socket(), connect()
- send(), TNETLIBUSER.pfnHttpGatewayWrapSend(),
- (HTTP proxy): ERROR_GEN_FAILURE (http result code wasn't 2xx)
- MS_NETLIB_SENDHTTPREQUEST, MS_NETLIB_RECVHTTPHEADERS
- }
- MS_NETLIB_SEND = 'Netlib/Send';
-
- {
- wParam : HANDLE
- lParam : Pointer to an initialised TNETLIBBUFFER structure
- Affect : Receive data over a connection, see notes
- Returns: The number of bytes read on success, SOCKET_ERROR on failure
- Notes :
- This service uses some of the same flags as MS_NETLIB_SEND :
- MSG_PEEK,
- MSG_NODUMP,
- MSG_DUMPPROXY,
- MSG_NOHTTPGATEWAYWRAP,
- MSG_DUMPASTEXT,
- MSG_RAW
- -
- On using MSG_NOHTTPGATEWAYWRAP: Because packets through an HTTP proxy are
- batched and cached and stuff, using this flag is not a guarantee that it
- will be obeyed, and if it is it may even be propogated to future calls
- even if you don't specify it then. Because of this, the flag should be
- considered an all-or-nothing thing: either use it for the entire duration
- of a connection, or not at all.
- Errors : ERROR_INVALID_PARAMETER, anything from recv()
- (HTTP proxy):
- ERROR_GEN_FAILURE (http result code wasn't 2xx)
- ERROR_INVALID_DATA (no Content-Length header in reply)
- ERROR_NOT_ENOUGH_MEMORY (Content-Length very large)
- ERROR_HANDLE_EOF (connection closed before Content-Length bytes recved)
- anything from select(),
- MS_NETLIB_RECVHTTPHEADERS, nlu.pfnHttpGatewayUnwrapRecv, socket(),
- connect(), MS_NETLIB_SENDHTTPREQUEST
-
- }
- MS_NETLIB_RECV = 'Netlib/Recv';
-
- {
- wParam : 0
- lParam : Pointer to an initialised TNETLIBSELECT structure
- Affect : Determine the status of one or more connections, see notes
- Returns: The numbe of ready connections, SOCKET_ERROR on failure
- Notes : All handles passed to this service must have been returned
- either by MS_NETLIB_OPENCONNECTION or MS_NETLIB_BINDPORT,
- the last handle in each list must be followed by either NULL
- or INVALID_HANDLE_VALUE.
- Errors : ERROR_INVALID_HANDLE, ERROR_INVALID_DATA, anything from select()
- }
- MS_NETLIB_SELECT = 'Netlib/Select';
-
- {
- wParam : HANDLE
- lParam : maxPacketSize
- Affect : Create a packet receiver, see notes
- Returns: A handle on success, NULL(0) on failure
- Notes : The packet receiver implements the common situation where
- you have a variable length of packets coming thru over a connection
- and you want them split up in order to handle them.
- -
- The major limiation is, that the buffer is created in memory,
- so you can't have arbitrarily large packets
- Errors : ERROR_INVALID_PARAMETER, ERROR_OUTOFMEMORY
- }
- MS_NETLIB_CREATEPACKETRECVER = 'Netlib/CreatePacketRecver';
-
- {
- wParam : Handle returned by MS_NETLIB_CREATEPACKETRECVER
- lParam : Pointer to an initialised TNETLIBPACKETRECVER
- Returns: The total number of bytes available in the buffer, NULL(0)
- if the connection was closed or SOCKET_ERROR.
- -
- If TNETLIBPACKETRECVER.bytesUsed is set to zero and the
- buffer is already full up to the maxPacketSize, it is assumed
- that a too large packet has been received, All data in
- the buffer is discarded and receiving has started anew.
- -
- This will probably cause alignment problem so if you think
- that tis iss likely to happen, then you should deal with it
- yourself.
- -
- Closing the packet receiver will not close the associated
- connection but will discard any bytes still in the buffer,
- so if you intend to carry on reading from that connection,
- make sure you have processed the buffer first.
- -
- This service is equivalent of memmove() to remove
- the first bytesUsed from the buffer, select(), if dwTimeOut
- is not INFINITE, then MS_NETLIB_RECV
- Errors : ERROR_INVALID_PARAMETER, ERROR_TIMEOUT, anything from select(),
- MS_NETLIB_RECV
- }
- MS_NETLIB_GETMOREPACKETS = 'Netlib/GetMorePackets';
-
- {
- wParam : HANDLE
- lParam : Pointer to null terminated string to uh, log.
- Affect : Add a message to the log (if it's running) see notes
- Returns: non zeror on success, NULL(0) on failure
- Notes : Don't include \r\n or #13#10 it's not needed,
- -
- Doesn't support formatting like the given C code for
- Netlib_Logf, just use FmtStr() and then call this service
- if you want that.
- Errors : ERROR_INVALID_PARAMETER
- }
- MS_NETLIB_LOG = 'Netlib/Log';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_options.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_options.inc
deleted file mode 100644
index 8e52002177..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_options.inc
+++ /dev/null
@@ -1,91 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_OPTIONS}
-{$DEFINE M_OPTIONS}
-
-const
-
- {
- wParam : addinfo
- lParam : 0
- Affects: The user opened the options dialog, see notes
- Notes : Modules should do whatever initalisation they need and call
- MS_OPT_ADDPAGE with the wParam -- MS_OPT_ADDPAGE
- can be called one or more times
- if more than one page wants to be displayed.
- }
- ME_OPT_INITIALISE = 'Opt/Initialise';
-
- {
- wParam : wParam from ME_OPT_INITIALISE
- lParam : Pointer to an initialised TOPTIONSDIALOGPAGE
- Affects: Adds a page to the options dialog, see notes
- Notes : Strings in the structure can be released as soon as the
- service returns -- but icons must be kept around, this iss
- not a problem if you're loading theem from a resource.
- -
- This service should only be called within the ME_OPT_INITIALISE
- event hook.
- -
- Pages in the options dialog operate just like pages in property
- sheets, See the WinAPI documentation for details on how they operate.
- Version: Prior to v0.1.2.1 the options dialog would resize
- to fit the largest page, but since then it's a fixed size
- The largest page that fits neatly is 314x240 DLU's
- -
- Some of OPTIONSDIALOGPAGE's fields are version dependant.
- }
- MS_OPT_ADDPAGE = 'Opt/AddPage';
-
- { defacto size }
-
- OPTIONSDIALOGPAGE_V0100_SIZE = $18;
- OPTIONSDIALOGPAGE_V0120_SIZE = $28;
-
- { give group box titles a bold font }
- ODPF_BOLDGROUPS = 4;
-
-type
-
- POPTIONSDIALOGPAGE = ^TOPTIONSDIALOGPAGE;
- TOPTIONSDIALOGPAGE = record
- cbSize: int;
- position: int; // position number, lower numbers are top most
- pszTitle: PChar;
- pfnDlgProc: Pointer; // DLGPROC prototype
- pszTemplate: PChar;
- hInstance: THandle;
- hIcon: THandle; // v0.1.0.1+
- pszGroup: PChar; // v0.1.0.1+
- groupPosition: int; // v0.1.0.1+
- hGroupIcon: THandle; // v0.1.0.1+
- flags: DWORD; // v0.1.2.1+
- end;
-
-const
-
- PSM_GETBOLDFONT = ($0400 + 102);
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_plugins.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_plugins.inc
deleted file mode 100644
index 689b7a39e7..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_plugins.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_PLUGINS}
-{$DEFINE M_PLUGINS}
-
-const
-
- DEFMOD_PROTOCOLICQ = 1; // removed from v0.3.0.0 alpha
- DEFMOD_PROTOCOLMSN = 2; // removed from v0.1.2.0+
- DEFMOD_UIFINDADD = 3;
- DEFMOD_UIUSERINFO = 4;
- DEFMOD_SRMESSAGE = 5;
- DEFMOD_SRURL = 6;
- DEFMOD_SREMAIL = 7;
- DEFMOD_SRAUTH = 8;
- DEFMOD_SRFILE = 9;
- DEFMOD_UIHELP = 10;
- DEFMOD_UIHISTORY = 11;
- DEFMOD_RNDCHECKUPD = 12;
- DEFMOD_RNDICQIMPORT = 13; // not built in to v0.1.0.1+
- DEFMOD_RNDAUTOAWAY = 14;
- DEFMOD_RNDUSERONLINE = 15;
- DEFMOD_RNDCRYPT = 16; // v0.1.0.1-v0.1.2.0
- DEFMOD_SRAWAY = 17; // v0.1.0.1+
- DEFMOD_RNDIGNORE = 18; // v0.1.0.1+
- DEFMOD_UIVISIBILITY = 19; // v0.1.1.0+, options page only
- DEFMOD_UICLUI = 20; // v0.1.1.0+
- DEFMOD_UIPLUGINOPTS = 21; // v0.1.2.1+
- DEFMOD_PROTOCOLNETLIB = 22; // v0.1.2.2+
-
- DEFMOD_HIGHEST = 22;
-
-
-
- {
- wParam : 0
- lParam : 0
- Affect : Gets an array of modules that the plugins report they want to replace
- Returns: Returns a pointer to an array of ints, with elements 1 or 0,
- indexed by the DEFMOD_* constants, 1 is to mark that the default
- module shouldn't be loaded, see notes
- Notes : this is primarily for use by the core's module initialiser,
- but could also be used by modules that are doing
- naughty things that are very feature-dependent.
- }
- MS_PLUGINS_GETDISABLEDEFAULTARRAY = 'Plugins/GetDisableDefaultArray';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_popup.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_popup.inc
deleted file mode 100644
index a91ef4df0c..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_popup.inc
+++ /dev/null
@@ -1,222 +0,0 @@
-(*
-===============================================================================
- Popup plugin
-Plugin Name: Popup
-Plugin author: hrk, Luca Santarelli, hrk@users.sourceforge.net
-This file has been created by egodust, Sam, egodust@users.sourceforge.net
-===============================================================================
-
-The purpose of this plugin is to give developers a common "platform/interface" to show Popups. It is born from the source code of NewStatusNotify, another plugin I've made.
-
-Remember that users *must* have this plugin enabled, or they won't get any popup. Write this in the requirements, do whatever you wish ;-)... but tell them!
-===============================================================================
-
--- To use this file you need Windows.pas, m_globaldefs.pas (get it from the CVS under the 'inc' module)
--- To include this in the source, use {$include m_popup.h}
-
-*)
-
-{$ifndef M_POPUP_H}
-{$define M_POPUP_H}
-
-{$ifdef FPC}
- {$PACKRECORDS C}
- {$MODE Delphi}
-{$endif}
-
-const
-
- MAX_CONTACTNAME = 2048;
- MAX_SECONDLINE = 2048;
-
- SM_WARNING = $01; //Triangle icon.
- SM_NOTIFY = $02; //Exclamation mark icon.
-
-type
-
- // for info on what this stuff is, see m_popup.h
-
- PPOPUPDATA = ^TPOPUPDATA;
- TPOPUPDATA = record
- lchContact: MCONTACT;
- lchIcon: THandle;
- lpszContactName: array[0..MAX_CONTACTNAME-1] of Char;
- lpszText: array[0..MAX_SECONDLINE-1] of Char;
- colorBack: COLORREF;
- colorForeText: COLORREF;
- PluginWindowProc: Pointer; // must be a window procedure using stdcall
- PluginData: Pointer;
- end;
-
-type
-
- // for info on what this stuff is, see m_popup.h
-
- PPOPUPDATA = ^TPOPUPDATA;
- TPOPUPDATA = record
- lchContact: MCONTACT;
- lchIcon: THandle;
- lpszContactName: array[0..MAX_CONTACTNAME-1] of Char;
- lpszText: array[0..MAX_SECONDLINE-1] of Char;
- colorBack: COLORREF;
- colorForeText: COLORREF;
- PluginWindowProc: Pointer; // must be a window procedure using stdcall
- PluginData: Pointer;
- iSeconds: int; //Custom delay time in seconds. -1 means "forever", 0 means "default time".
- cZero: array[0..15] of Char; //16 unused bytes which may come useful in the future.
- end;
-
-const
-
-(*
- Creates, adds and shows a popup, given a (valid) POPUPDATA structure pointer.
- wParam = (WPARAM)(*POPUPDATA)PopupDataAddress
- lParam = 0
- Returns: > 0 on success, 0 if creation went bad, -1 if the PopupData contained unacceptable values.
- NOTE: it returns -1 if the PopupData was not valid, if there were already too many popups, if the module was disabled.
- Otherwise, it can return anything else...
-*)
-
- MS_POPUP_ADDPOPUP = 'Popup/AddPopup';
-
-(*
- The same, but with a POPUPDATAEX structure pointer.
- wParam = (WPARAM)(*POPUPDATAEX)PopupDataExAddress
- lParam = 0
-*)
-
- MS_POPUP_ADDPOPUP = 'Popup/AddPopupEx';
-
-(*
- Returns the handle to the contact associated to the specified PopupWindow.
- You will probably need to know this handle inside your WNDPROC. Exampole: you want to open the MessageWindow. :-)
- Call MS_POPUP_GETCONTACT on the hWnd you were given in the WNDPROC.
- wParam = (WPARAM)(HWND)hPopupWindow
- lParam = 0;
- Returns: the HANDLE of the contact. Can return NULL, meaning it's the main contact. -1 means failure.
-*)
-
- MS_POPUP_GETCONTACT = 'Popup/GetContact';
-
-(*
- wParam = hPopupWindow
- lParam = PluginDataAddress;
- Returns: the address of the PLUGINDATA structure. Can return NULL, meaning nothing was given. -1 means failure.
- IMPORTANT NOTE: it doesn't seem to work if you do:
- CallService(..., (LPARAM)aPointerToAStruct);
- and then use that struct.
- Do this, instead:
- aPointerToStruct = CallService(..., (LPARAM)aPointerToAStruct);
- and it will work. Just look at the example I've written above (PopupDlgProc).
-*)
- MS_POPUP_GETPLUGINDATA = 'Popup/GetPluginData';
-
-(*
- wParam = 0
- lParam = 0
- Returns: 0 if the user has chosen not to have the second line, 1 if he choose to have the second line.
-*)
- MS_POPUP_ISSECONDLINESHOWN = 'Popup/IsSecondLineShown';
-
-(*
- UM_FREEPLUGINDATA
- wParam = lParam = 0. Process this message if you have allocated your own memory. (i.e.: POPUPDATA.PluginData != NULL)
-*)
- UM_FREEPLUGINDATA = ((*WM_USER*)$400 + $200);
-
-(*
- UM_DESTROYPOPUP
- wParam = lParam = 0. Send this message when you want to destroy the popup, or use the function below.
-*)
- UM_DESTROYPOPUP = ((*WM_USER*)$400 + $201);
-
-(*
- UM_INITPOPUP
- wParam = (WPARAM)(HWND)hPopupWindow (but this is useless, since I'll directly send it to your hPopupWindow
- lParam = 0.
- This message is sent to the Popup when its creation has been finished, so POPUPDATA (and thus your PluginData) is reachable.
- Catch it if you needed to catch WM_CREATE or WM_INITDIALOG, which you'll never ever get in your entire popup-life.
- Return value: if you process this message, return 0. If you don't process it, return 0. Do whatever you like ;-)
-*)
- UM_INITPOPUP = ($400(*WM_USER*) + $202);
-
-(*
- wParam = hPopupWindow
- lParam = lpzNewText
- returns: > 0 for success, -1 for failure, 0 if the failure is due to second line not being shown. (but you could call PUIsSecondLineShown() before changing the text...)
- Changes the text displayed in the second line of the popup.
-*)
- MS_POPUP_CHANGETEXT = 'Popup/Changetext';
-
-(*
- This is mainly for developers.
- Shows a warning message in a Popup. It's useful if you need a "MessageBox" like function, but you don't want a modal window (which will interfere with a DialogProcedure. MessageBox steals focus and control, this one not.
- wParam = lpzMessage
- lParam = 0; Returns: 0 if the popup was shown, -1 in case of failure.
-*)
- MS_POPUP_SHOWMESSAGE = 'Popup/ShowMessage';
-
-
- (* helper functions, will be inlined on FPC if you have the swithces enabled *)
-
- function PUAddPopup(ppdp: PPOPUPDATA): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := CallService(MS_POPUP_ADDPOPUP, WPARAM(ppdp), 0);
- end;
-
- function PUGetContact(hPopupWindow: THandle): THandle;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := CallService(MS_POPUP_GETCONTACT, WPARAM(hPopupWindow), 0);
- end;
-
- function PUGetPluginData(hPopupWindow: THandle): Pointer;
- {$ifdef FPC}
- inline;
- {$endif}
- var
- dummy: pointer;
- begin
- dummy := nil;
- Int(Result) := CallService(MS_POPUP_GETPLUGINDATA, WPARAM(hPopupWindow), LPARAM(dummy));
- end;
-
- function PUIsSecondLineShown: BOOL;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Int(Result) := CallService(MS_POPUP_ISSECONDLINESHOWN, 0, 0);
- end;
-
- function PUDeletePopup(hWndPopup: THandle): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := SendMessage(hWndPopup, UM_DESTROYPOPUP, 0, 0);
- end;
-
- function PUChangeText(hWndPopup: THandle; lpzNewText: PChar): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := CallService(MS_POPUP_CHANGETEXT, WPARAM(hWndPopup), LPARAM(lpzNewText));
- end;
-
- function PUShowMessage(lpzText: PChar; kind: Byte): int;
- {$ifdef FPC}
- inline;
- {$endif}
- begin
- Result := CallService(MS_POPUP_SHOWMESSAGE, WPARAM(lpzText), LPARAM(kind));
- end;
-
-{$endif}
-
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protocols.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protocols.inc
deleted file mode 100644
index 4d8012c180..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protocols.inc
+++ /dev/null
@@ -1,180 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_PROTOCOLS}
-{$DEFINE M_PROTOCOLS}
-
-const
-
- ACKTYPE_MESSAGE = 0;
- ACKTYPE_URL = 1;
- ACKTYPE_FILE = 2;
- ACKTYPE_CHAT = 3;
- ACKTYPE_AWAYMSG = 4;
- ACKTYPE_AUTHREQ = 5;
- ACKTYPE_ADDED = 6;
- ACKTYPE_GETINFO = 7;
- ACKTYPE_SETINFO = 8;
- ACKTYPE_LOGIN = 9;
- ACKTYPE_SEARCH = 10;
- ACKTYPE_NEWUSER = 11;
- ACKTYPE_STATUS = 12;
- ACKTYPE_CONTACTS = 13; //send/recv of contacts
-
- ACKRESULT_SUCCESS = 0;
- ACKRESULT_FAILED = 1;
- //'in progress' result codes:
- ACKRESULT_CONNECTING = 100;
- ACKRESULT_CONNECTED = 101;
- ACKRESULT_INITIALISING = 102;
- ACKRESULT_SENTREQUEST = 103; // waiting for reply...
- ACKRESULT_DATA = 104; // blob of file data sent/recved, or search result
- ACKRESULT_NEXTFILE = 105; // file transfer went to next file
- ACKRESULT_FILERESUME = 106; // a file is about to be received, see PS_FILERESUME
- ACKRESULT_DENIED = 107; // a file send has been denied (0.3a + only)
-
- // for PROTOCOLDESCRIPTOR.type
-
- PROTOTYPE_PROTOCOL = 1000;
- PROTOTYPE_ENCRYPTION = 2000;
- PROTOTYPE_FILTER = 3000;
- PROTOTYPE_TRANSLATION = 4000;
- PROTOTYPE_OTHER = 10000;//avoid using this if at all possible
-
-type
-
- PCCSDATA = ^TCCSDATA;
- TCCSDATA = record
- hContact: THandle;
- szProtoService: PChar; // a PS_* constant
- wParam: WPARAM;
- lParam: LPARAM;
- end;
-
- PACKDATA = ^TACKDATA;
- TACKDATA = record
- cbSize: int;
- szModule: PChar; // the name of the protocol module which initiated this ack
- hContact: THandle;
- type_: int; // an ACKTYPE_* constant
- result_: int; // an ACKRESULT_* constant
- hProcess: THandle; // caller defined seq, I mean process code
- lParam: LPARAM; // caller defined data
- end;
-
- // when type=ACKTYPE_FILE and (result=ACKRESULT_DATA or result=ACKRESULT_FILERESUME)
-
- PPROTOFILETRANSFERSTATUS = ^TPROTOFILETRANSFERSTATUS;
- TPROTOFILETRANSFERSTATUS = record
- cbSize: int;
- hContact: THandle;
- sending: int; // true if sending, false if receiving
- files: PChar; // pointer to an array of pchar's
- totalFiles: int;
- currentFileNumber: int;
- totalBytes: LongInt;
- totalProgress: LongInt;
- workingDir: PChar;
- currentFile: PChar;
- currentFileSize: LongInt;
- currentFileProgress: LongInt;
- currentFileTime: LongInt; // UNIX time
- end;
-
- // for registering a protocol, enumeration
-
- PPROTOCOLDESCRIPTOR = ^TPROTOCOLDESCRIPTOR;
- TPROTOCOLDESCRIPTOR = record
- cbSize: int;
- szName: PChar; // unique name of module
- type_: int; // a PROTOTYPE_* constant
- end;
-
-const
-
- {
- wParam : 0
- lParam : Pointer to an initalised CSSDATA structure
- Affect : Send a general request thru the protocol chain for a contact
- Return : the return value documented in the PS_* def (m_protosvc.inc)
- }
- MS_PROTO_CALLCONTACTSERVICE = 'Proto/CallContactService';
-
- {
- wParam : 0
- lParam : Pointer to an initalised TACKDATA structure
- Affect : a general 'ack', see notes
- Notes : Just because defs are here doesn't mean they will be sent
- read the docs for the function you are calling to see what
- replies you will get.
- }
- ME_PROTO_ACK = 'Proto/Ack';
-
- {
- wParam : pointer to an int to store number of protocols
- lParam : Pointer to an an array of PPROTOCOLDESCRIPTOR pointers
- Affect : Enumerate the currently running protocols, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : Neither wParam/lParam maybe NULL(0), the list returned by
- this service is the protocol modules currently installed
- and running, it is not a complete list of protocols that have
- ever been installed.
- -
- A protocol module does not have to be a protocol running thru
- the internet, it can be a vast number of things
- }
- MS_PROTO_ENUMPROTOCOLS = 'Proto/EnumProtocols';
-
- {
- wParam : 0
- lParam : Pointer to null terminated string containing protocol name
- Affect : Determines if a protocol is running or not.
- Returns: A pointer to the PPROTOCOLDESCRIPTOR if the protocol is loaded
- or NULL(0) if it isn't
- }
- MS_PROTO_ISPROTOCOLLOADED = 'Proto/IsProtocolLoaded';
-
- {
- wParam : MCONTACT
- lParam : Pointer to a null terminated string containing a name
- Affect : Determine whether the given contact has the given protocol
- in it's chain.
- Returns : 0 if the protocol isn't in the chain, [non zero] if it is
- }
- MS_PROTO_ISPROTOONCONTACT = 'Proto/IsProtoOnContact';
-
- {
- wParam : MCONTACT
- lParam : 0
- Affect : Gets the network-level protocol associated with a contact
- Returns: a PChar pointing to the ASCIIZ name of the protocol or NULL(0)
- if the contact has no protocol, There's no need to dispsose
- the returned string.
- -
- This is the name of the module that actually accesses the network
- for that contact.
- }
- MS_PROTO_GETCONTACTBASEPROTO = 'Proto/GetContactBaseProto';
-
-{$ENDIF} \ No newline at end of file
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protomod.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protomod.inc
deleted file mode 100644
index f304b61a39..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protomod.inc
+++ /dev/null
@@ -1,105 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_PROTOMOD}
-{$DEFINE M_PROTOMOD}
-
- {$ifndef M_PROTOCOLS}
- {$include m_protocols.inc}
- {$endif}
-
-const
-
- {
- wParam : 0
- lParam : Pointer to a initalised TPROTOCOLDESCRIPTOR structure
- Affect : Register a protocol module, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : This service MUST be called from your module's Load() function
- TPROTOCOLDESCRIPTOR.type can be a value other than PROTOTYPE_*
- which are used to provide a more precise positioning information
- for the contact protocol lists.
- -
- Relative values to the constants can be given, but this MUST NOT
- be done for PROTOTYPE_PROTOCOL.
- }
- MS_PROTO_REGISTERMODULE = 'Proto/RegisterModule';
-
- {
- wParam : MCONTACT
- lParam : protocol_name_string
- Affect : Add the given protocol module to the chain for a contact, see notes
- Returns: 0 success, [non zero] on failure
- Notes : The module is added to the correct positioning according to it's
- registered type.
- }
- MS_PROTO_ADDTOCONTACT = 'Proto/AddToContact';
-
- {
- wParam : MCONTACT
- lParam : protocol_name_string
- Affect : Remove the given protocol name from the chain for the given contact
- Returns: 0 on success, [non zero] on failure
- }
- MS_PROTO_REMOVEFROMCONTACT = 'Proto/RemoveFromContact';
-
- { see m_helpers.inc for CreateProtoServiceFunction }
-
- {
- wParam : wParam [arg]
- lParam : lParam [arg]
- Affect : Call the next service in the chain for the send operation, see notes
- Return : Return value should be returned by CallService(MS_PROTO_CHAINSEND,wParam,lParam)
- Notes : wParam MUST remain untouched, lParam is a pointer to a CCSDATA structure
- and can be modified or copid if needed.
- wParam and lParam should be the values passed to your service,
- typically your service should return ASAP.
- }
- MS_PROTO_CHAINSEND = 'Proto/ChainSend';
-
- {
- wParam : wParam [arg]
- lParam : lParam [arg]
- Affect : Call the next service in the chain in this receive operation, see notes
- Return : Return value should be returned by CallService(MS_PROTO_CHAINRECV,wParam,lParam)
- Notes : wParam MUST remain untouched, lParam is a pointer to a CCSDATA structure
- and can be modified or copied if needed.
- wParam and lParam should be the values passed to your service,
- typically your service should return ASAP.
- -
- MS_PROTO_CHAINRECV is thread safe since 0.1.2.0 -- calls
- are translated to the main thread and passed from there.
- }
- MS_PROTO_CHAINRECV = 'Proto/ChainRecv';
-
- {
- wParam : 0
- lParam : Pointer to an initalised ACKDATA
- Affect : Broadcast a ME_PROTO_ACK event, see notes
- Returns: The return value of the NotifyEventHooks() call
- Notes : ME_PROTO_ACK is completely thread safe since 01.2.0
- see notes in core/modules.h under NotifyEventHooks()
- }
- MS_PROTO_BROADCASTACK = 'Proto/BroadcastAck';
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protosvc.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protosvc.inc
deleted file mode 100644
index daac49ea99..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_protosvc.inc
+++ /dev/null
@@ -1,753 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_PROTOSVC}
-{$DEFINE M_PROTOSVC}
-
-{<</
- none of these services should be used on there own (i.e. using CallService(), etc)
- hence the PS_ prefix, instead use the services exposed in m_protocols.inc
-
- these should be called with CallProtoService which prefixes the protocol module
- name before calling.
- -
- Deleting contacts from protocols that store the contact list on the server:
- If a contact is deleted while the protocol is online, it is expected that the
- protocol will have hooked me_db_contact_deleted and take the appropriate
- action by itself.
- If a contact is deleted while the protocol is offline, the contact list will
- display a message to the user about the problem, and set the byte setting
- "CList"/"Delete" to 1. Each time such a protocol changes status from offline
- or connecting to online the contact list will check for contacts with this
- flag set and delete them at that time. Your hook for me_db_contact_deleted
- will pick this up and everything will be good.
-/>>}
-
-const
-
- PFLAGNUM_1 = $1;
- PF1_IMSEND = $00000001; // supports IM sending
- PF1_IMRECV = $00000002; // supports IM receiving
- PF1_IM = (PF1_IMSEND or PF1_IMRECV);
- PF1_URLSEND = $00000004; // supports separate URL sending
- PF1_URLRECV = $00000008; // supports separate URL receiving
- PF1_URL = (PF1_URLSEND or PF1_URLRECV);
- PF1_FILESEND = $00000010; // supports file sending
- PF1_FILERECV = $00000020; // supports file receiving
- PF1_FILE = (PF1_FILESEND or PF1_FILERECV);
- PF1_MODEMSGSEND = $00000040; // supports broadcasting away messages
- PF1_MODEMSGRECV = $00000080; // supports reading others' away messages
- PF1_MODEMSG = (PF1_MODEMSGSEND or PF1_MODEMSGRECV);
- PF1_SERVERCLIST = $00000100; // contact lists are stored on the server, not locally. See notes below
- PF1_AUTHREQ = $00000200; // will get authorisation requests for some or all contacts
- PF1_ADDED = $00000400; // will get 'you were added' notifications
- PF1_VISLIST = $00000800; // has an invisible list
- PF1_INVISLIST = $00001000; // has a visible list for when in invisible mode
- PF1_INDIVSTATUS = $00002000; // supports setting different status modes to each contact
- PF1_EXTENSIBLE = $00004000; // the protocol is extensible and supports plugin-defined messages
- PF1_PEER2PEER = $00008000; // supports direct (not server mediated) communication between clients
- PF1_NEWUSER = $00010000; // supports creation of new user IDs
- PF1_CHAT = $00020000; // has a realtime chat capability
- PF1_INDIVMODEMSG = $00040000; // supports replying to a mode message request with different text depending on the contact requesting
- PF1_BASICSEARCH = $00080000; // supports a basic user searching facility
- PF1_EXTSEARCH = $00100000; // supports one or more protocol-specific extended search schemes
- PF1_CANRENAMEFILE = $00200000; // supports renaming of incoming files as they are transferred
- PF1_FILERESUME = $00400000; // can resume broken file transfers, see PS_FILERESUME below
- PF1_ADDSEARCHRES = $00800000; // can add search results to the contact list
- PF1_CONTACTSEND = $01000000; // can send contacts to other users
- PF1_CONTACTRECV = $02000000; // can receive contacts from other users
- PF1_CONTACT = (PF1_CONTACTSEND or PF1_CONTACTRECV);
- PF1_CHANGEINFO = $04000000; // can change our user information stored on server
- PF1_SEARCHBYEMAIL = $08000000; // supports a search by e-mail feature
- PF1_USERIDISEMAIL = $10000000; // set if the uniquely identifying field of the network is the e-mail address
- PF1_SEARCHBYNAME = $20000000; // supports searching by nick/first/last names
- PF1_EXTSEARCHUI = $40000000; // has a dialog box to allow searching all the possible fields
- PF1_NUMERICUSERID = $80000000; // the unique user IDs for this protocol are numeric
-
- PFLAGNUM_2 = 2; // the status modes that the protocol supports
- PF2_ONLINE = $00000001; // an unadorned online mode
- PF2_INVISIBLE = $00000002;
- PF2_SHORTAWAY = $00000004; // Away on ICQ, BRB on MSN
- PF2_LONGAWAY = $00000008; // NA on ICQ, Away on MSN
- PF2_LIGHTDND = $00000010; // Occupied on ICQ, Busy on MSN
- PF2_HEAVYDND = $00000020; // DND on ICQ
- PF2_FREECHAT = $00000040;
- PF2_OUTTOLUNCH = $00000080;
- PF2_ONTHEPHONE = $00000100;
-
- PFLAGNUM_3 = 3; //the status modes that the protocol supports
- //away-style messages for. Uses the PF2_ flags.
- PFLAG_UNIQUEIDTEXT = 100; //returns a static buffer of text describing the unique field by which this protocol identifies users (already translated), or NULL
-
- PFLAG_MAXCONTACTSPERPACKET = 200; //v0.1.2.2+: returns the maximum number of contacts which can be sent in a single PSS_CONTACTS.
-
- PFLAGNUM_4 = 4; // v0.3+: flag asking a protocol plugin how auths are handled
- PF4_FORCEAUTH = $00000001; // protocol has to send auth's for things to work
- PF4_FORCEADDED = $00000002; // protocol has to tell people that they were added (otherwise things don't work)
- PF4_NOCUSTOMAUTH = $00000004; // protocol can't send a custom message while asking others for auth
-
- PFLAG_UNIQUEIDSETTING = 300; // v0.3+: returns the DB setting name (e.g. szProto=ICQ, szSetting=UIN) that has the ID which makes this user unique on that system (0.3a ONLY), the string is statically allocated so no need to free()
-
- // for PS_SETSTATUS
-
- LOGINERR_WRONGPASSWORD = 1;
- LOGINERR_NONETWORK = 2;
- LOGINERR_PROXYFAILURE = 3;
- LOGINERR_BADUSERID = 4;
- LOGINERR_NOSERVER = 5;
- LOGINERR_TIMEOUT = 6;
- LOGINERR_WRONGPROTOCOL = 7;
-
- // flag for PS_ADDTOLIST
-
- PALF_TEMPORARY = 1; // add the contact temporarily and invisibly, just to get user info or something
-
- // flags for PS_GETINFO
-
- SGIF_MINIMAL = 1; // get only the most basic information. This should
- // contain at least a Nick and e-mail.
-
- // for PSR_MESSAGE
-
- PREF_CREATEREAD = 1; // create the database event with the 'read' flag set
-
- // for PS_FILERESUME
-
- FILERESUME_OVERWRITE= 1;
- FILERESUME_RESUME = 2;
- FILERESUME_RENAME = 3;
- FILERESUME_SKIP = 4;
-
-type
-
- PPROTOSEARCHRESULT = ^TPROTOSEARCHRESULT;
- TPROTOSEARCHRESULT = record
- cbSize: int;
- nick: PChar;
- firstName: PChar;
- lastName: PChar;
- email: PChar;
- reserved: array [0..15] of Byte;
- // Protocols may extend this structure with extra members at will and supply
- // a larger cbSize to reflect the new information, but they must not change
- // any elements above this comment
- // The 'reserved' field is part of the basic structure, not space to
- // overwrite with protocol-specific information.
- // If modules do this, they should take steps to ensure that information
- // they put there will be retained by anyone trying to save this structure.
- end;
-
- PPROTOSEARCHBYNAME = ^TPROTOSEARCHBYNAME;
- TPROTOSEARCHBYNAME = record
- pszNick: PChar;
- pszFirstName: PChar;
- pszLastName: PChar;
- end;
-
- PPROTORECVEVENT = ^TPROTORECVEVENT;
- TPROTORECVEVENT = record
- flags: DWORD;
- timestamp: DWORD;
- szMessage: PChar;
- lParam: LPARAM;
- end;
-
- PPROTORECVFILE = ^TPROTORECVFILE;
- TPROTORECVFILE = record
- flags: DWORD;
- timestamp: DWORD; // unix time
- szDescription: PChar;
- pFiles: PChar; // pointer to an array of pchar's
- lParam: LPARAM;
- end;
-
- PPROTOFILERESUME = ^TPROTOFILERESUME;
- TPROTOFILERESUME = record
- action: int; // FILERESUME_* flag
- szFilename: PChar; // full path, only valid if action=FILERESUME_RENAME
- end;
-
-const
-
- {
- wParam : PFLAGNUM_* (see above)
- lParam : 0
- Affects: Returns a bitfield for settings corresponding to flag number, see notes
- Returns: a bitfield of supported features -- or 0 if flag_num is not supported
- Notes : this checks what sort of things are actively supported by a protocol
- module
- }
- PS_GETCAPS = '/GetCaps';
-
- {
- wParam : cchName
- lParam : Pointer to a buffer to fill with human-readable name
- Affect : Get a human-readable name for the protocol, see notes
- Result : 0 on success, [non zero] on failure
- Notes : Should be translated before being returned, cchName
- has the size of the buffer, example strings: "ICQ", "AIM"
- }
- PS_GETNAME = '/GetName';
-
- {
- wParam : whichIcon
- lParam : 0
- Affect : Loads one of the protocol-sspecific icons
- Returns: the HICON or NULL on failure, the returned icon
- must be DestroyIcon()ed, the UI should overlay
- the online icon with further UI-specified icon to
- repressent the exact status mode.
- }
- PLI_PROTOCOL = $1; // An icon representing the protocol (eg the multicoloured flower for ICQ)
- PLI_ONLINE = $2; // Online state icon for that protocol (eg green flower for ICQ)
- PLI_OFFLINE = $3; // Offline state icon for that protocol (eg red flower for ICQ)
- PLIF_LARGE = $0; // Or with one of the above to get the large (32x32 by default) icon
- PLIF_SMALL = $10000; // Or with one of the above to get the small (16x16 by default) icon
-
- PS_LOADICON = '/LoadIcon';
-
- {
- wParam : status_mode
- lParam : Pointer to a null terminated string containing message
- Affect : Sets the status mode specific message for the user, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : This service is not available unless PF1_MODEMSGSEND is set,
- and PF1_INDIVMODEMSG is *not* set.
- If PF1_INDIVMODEMSG is set, then see PSS_AWAYMSSG for details
- of operations of away messages.
- -
- Protocol modules smust support lParam=NULL, it may eithere mean
- to use an empty message or (preferably) not to reply at all to
- any requests.
- }
- PS_SETAWAYMSG = '/SetAwayMsg';
-
- {
- wParam : newMode from statusmodes.inc
- lParam : 0
- Affect : Change the protocol's status mode, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : Will send an ack with :
- type=ACKTYPE_SUCCESS, result=ACKRESULT_SUCCESS, hProcess=previousMode, lParam=newMode
- -
- when the change completes. This ack is sent for all changes, not
- just ones caused by calling this function.
- -
- NewMode can be ID_STATUS_CONNECTING<=newMode<ID_STATUS_CONNECTING+
- MAX_CONNECT_RETRIES to signify that it's connecting and it's the nth retry.
- -
- Protocols are initially always in offline mode, if a protocol
- doesn't support a specific status mode, it should pick the closest
- ones that it does support, and change to that.
-
- If a protocol has to switch from offline mode to online (or a substate
- of online, like away) then it should report any errors in the
- form of an additional ack :
-
- type=ACKTYPE_LOGIN, result=ACKRESULT_FAILURE, hProcess=NULL, lParam=LOGINERR_*
-
- SetStatus() is called when a protocol module is first loaded
- with newMode=ID_STATUS_ONLINE.
- -
- Protocols can define their own LOGINERR_* starting at $1000, see
- LOGINERR_* above
- }
- PS_SETSTATUS = '/SetStatus';
-
- {
- wParam : 0
- lParam : 0
- Affect : Get the status mode that a protocol is currently in, see notes
- Returns: The current status mode
- Notes : Only protocol modules need to implement this, non network level
- protocol modules do not need to (but if you register as a protocol
- you need to, Miranda will GPF otherwise)
- }
- PS_GETSTATUS = '/GetStatus';
-
- {
- wParam : HDBEVENT
- lParam : 0
- Affect : allow 'somebody' to add the user to their contact list, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : Auth request come in the form of an event added to the database
- for the NULL(0) user, the form is:
- -
- protocolSpecific: DWORD;
- nick, firstname, lastName, e-mail, requestReason: ASCIIZ;
- -
- HDBEVENT musts be the handle of such an event, one or more
- fields may be empty if the protocol doesn't support them
- }
- PS_AUTHALLOW = '/Authorize';
-
- {
- wParam : HDBEVENT
- lParam : Pointer to a null terminated string containing the reason, see notes
- Affect : Deny an authorisation request
- Returns: 0 on success, [non zero] on failure
- Notes : Protocol modules must be able to cope with lParam=NULL(0)
- }
- PS_AUTHDENY = '/AuthDeny';
-
- {
- wParam : 0
- lParam : Pointer to a null terminated string containing an ID to search for
- Affect : Send a basic search request, see notes
- Returns: A handle to the search request or NULL(0) on failure
- Notes : All protocols identify users uniquely by a single field
- this service will search by that field.
- -
- All search replies (even protocol-spec extended searches)
- are replied by a series of ack's,-
- -
- Result acks are a series of:
- type=ACKTYPE_SEARCH, result=ACKRESULT_DATA, lParam=Pointer to a TPROTOSEARCHRESULT structure
- -
- ending ack:
- type=ACKTYPE_SEARCH, result=ACKRESULT_SUCCESS, lParam=0
- -
- The pointers in the structure are not guaranteed to be
- valid after the ack is complete.
- -
- The structure to reply with search results can be extended
- per protocol basis (see below)
-
- }
- PS_BASICSEARCH = '/BasicSearch';
-
- {
- wParam : 0
- lParam : Pointer to a NULL terminated string containing the e-mail to search for
- Affect : Search for user(s) by e-mail address, see notes
- Returns: A HANDLE to the search, or NULL(0) on failure
- Notes : Results are returned as for PS_BASICSEARCH, this service
- is only available if the PF1_USERIDISEMAIL flag is set for caps --
- -
- This service with the above service should be mapped to the same
- function if the aforementioned flag is set.
- Version: v0.1.2.1+
- }
- PS_SEARCHBYEMAIL = '/SearchByEmail';
-
- {
- wParam : 0
- lParam : Pointer to a TPROTOSEARCHBYNAME structure
- Affect : Search for users by name, see notes
- Returns: Handle to the search, NULL(0) on failure
- Notes : this service is only available, if PF1_SEARCHBYNAME capability is set.
- Results are returned in the same manner as PS_BASICSEEARCH
- Version: v0.1.2.1+
- }
- PS_SEARCHBYNAME = '/SearchByName';
-
- {
- wParam : 0
- lParam : Handle to window owner
- Affect : Create the advanced search dialog box, see notes
- Returns: A window handle, or NULL(0) on failure
- Notes : this service is only available if PF1_EXTSEARCHUI capability is
- set, advanced search is very protocol-spec'd so it is left to
- the protocol itself to supply a dialog containing the options,
- this dialog should not have a titlebar and contain only search
- fields. the rest of the UI is supplied by Miranda.
- -
- The dialog should be created with CreateDialog() or it's kin
- and still be hidden when this function returns,
- -
- The dialog will be destroyed when the find/add dialog is closed
- Version: v0.1.2.1+
- }
- PS_CREATEADVSEARCHUI= '/CreateAdvSearchUI';
-
- {
- wParam : 0
- lParam : Handle to advanced search window handle
- Affect : Search using the advanced search dialog, see notes
- Returns: A handle or NULL(0) on failure
- Notes : Results are returned in the same manner as PS_BASICSEARCH,
- this service is only available if PF1_EXTSEARCHUI capability is set
- Version: v0.1.2.1+
- }
- PS_SEARCHBYADVANCED = '/SearchByAdvanced';
-
- {
- wParam : flags
- lParam : Pointer to a TPROTOSEARCHRESULT structure
- Affect : Adds a search result to the contact list, see notes
- Returns: A handle to the new contact (MCONTACT) or NULL(0) on failure
- Notes : The pointer MUST be a result returned by a search function
- since there maybe extra protocol-spec data required by the protocol.
- -
- the protocol module should not allow duplicate contains to be added,
- but if such a request *is* received it should return a MCONTACT
- to the original user,
- -
- If flags is PALF_TEMPORARY set, the contact should be added
- temorarily and invisiblely, just to get the user info (??)
- -
- }
- PS_ADDTOLIST = '/AddToList';
-
- {
- wParam : MAKEWPARAM(flags, iContact)
- lParam : HDBEVENT
- Affects: Add a contact to the contact list given an auth/added/contacts events, see notes
- Returns: A MCONTACT or NULL(0) on failure
- Notes : HDBEVENT must be either EVENTTYPE_AUTHREQ or EVENTTYPE_ADDED
- flags are the same as PS_ADDTOLIST,
- -
- iContacts is only used for contacts vents, it is 0-based index
- of the contacts in the event to add, there's no way to add two or more
- contacts at once, you should just call this as many times as needed.
- }
- PS_ADDTOLISTBYEVENT = '/AddToListByEvent';
-
- {
- wParam : InfoType
- lParam : Pointer to InfoData
- Affect : Changes user details as stored on the server, see notes
- Returns: A Handle to the change request or NULL(0) on failure
- Notes : the details stored on the server are very protocol spec'd
- so this service just supplies an outline for protocols to use.
- See protocol-specific documentation for what infoTypes are available
- and what InfoData should be for each infoTypes.
- -
- Sends an ack type=ACKTYPE_SETINFO, result=ACKRESULT_SUCCESS/FAILURE, lParam=0
- -
- This description just leaves me cold.
- Version: v0.1.2.0+
- }
- PS_CHANGEINFO = '/ChangeInfo';
-
- {
- wParam : HFILETRANSFER
- lParam : Pointer to a initalised TPROTOFILERESUME
- Affect : Informs the protocol of the user's chosen resume behaviour, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : If the protocol supports file resume (caps: PF1_FILERESUME) then before
- each file receive begins it will broadcast an ack with :
-
- type=ACKTYPE_FILE, result=ACKRESULT_RESUME, hProcess=hFileTransfer,
- lParam = TPROTOFILETRANSFERSTATUS.
-
- If the UI processes this ack it must return a [non zero] valuee from it's
- hook, it all the hooks complete without returning [non zero] then the
- protocol will assume that no resume UI was available and will continue
- to receive the file with a default behaviour (default: overwrite)
- -
- If a hook does return [non zero] then that UI MUST call this service,
- PS_FILERESUME at some point.
- When the protocol module receives this call it will proceed wit the
- file recieve usingg the given information.
- -
- Having sasid that, PS_FILERESUME MUST be called, it is also
- acceptable to completely abort the transfer instead, i.e. the file
- exists locally and the user doesn't want to overwrite or resume or
- reget.
- Version: v0.1.2.2+
- }
- PS_FILERESUME = '/FileResume';
-
- // these should be called with CallContactService()
-
- {<</
- !IMPORTANT!
- wParam, lParam data expected declarations should be treated with
- one level of indirection, where it says (CCSDATA: Yes)
- should be :
-
- What you *actually* get in the service:
-
- wParam = 0
- lParam = pCCSDATA
-
- CCSDATA contains the ..wParam, ..lParam, hContact data declared with each service,
- so the wParam, lParam passed does not contain the data itself, but lParam
- contains a pointer to a structure which contains the data.
-
- />>}
-
- {
- CCSDATA: Yes
- wParam : flags
- Param : 0
-
- Affect : Updates a contact's details from the server, see notes
- Returns: 0 on success, [non zero] on failure
- Notes :
-
- flags which may have SGIF_MINIMAL set to only get
- "basic" information, such as nickname, email address.
-
- PCCSDATA(lParam)^.hContact has the MCONTACT handle to get user
- information for.
-
- Will update all the information in the database and then
- send acks with :
-
- type=ACKTYPE_GETINFO, result=ACKRESULT_SUCCESS, hProcess=nReplies, lParam=thisReply
- -
- Since some protocol do not allow the module to tell when it has
- got all the information so it can send a final ack, one
- ack will be sent after each chunk of data has been received,
- -
- nReplies contains the number of distinct acks
- that will be sent to get all the information, 'thisReply'
- is the zero based index of this ack.
- When thisReply=0 the minimal information has just been received,
- all other numbering is arbitrary.
-
- }
- PSS_GETINFO = '/GetInfo';
-
- {
- CCSDATA: Yes
- wParam : flags
- lParam : Pointer to a null terminated string
- Affect : Send an instant message
- Returns: an hProcess corresponding to an ACK which will be sent after
- the hProcess.
- Notes: type=ACKTYPE_MESSAGE, result=ACKRESULT_SUCCESS/FAILURE, lParam = 0
- -
- here's the deal, you must return a 'seq' from this service
- which you have to ack when the message actually get's sent,
- or send a fake ack sometime soon if you can't find out if the message
- was successfully received with the protocol that you're using.
- -
- this event is NOT added to the database automatically.
- }
- PSS_MESSAGE = '/SendMsg';
-
- {
- CCSDATA: Yes
- wParam : flags
- lParam : null terminated string to the URL, see notes
- Affect : Send a URL message, see notes
- Returns: A hProcess which will be ack'd later
- Notes : lParam may contain TWO strings, the first for URL, the second for
- description, in the format :
- <url>#0<desc>#0 or <url>#0#0
- Will send an ack for hProcess when the URL actually gets sent
- type=ACKTYPE_URL, result=ACKRESULT_SUCCESS/FAILURE, lParam=0
- -
- protocol modules are free to define flags starting at $10000
- -
- The event will *not* be added to the database automatically
- }
- PSS_URL = '/SendUrl';
-
- {
- CCSDATA: Yes
- wParam : MAKEWPARAM(flags)
- lParam : Pointer to hContactsList
- Affect : Send a set of contacts, see notes
- Returns: A hProcess which will be ack, NULL(0) on failure
- Notes : hContactsList is an array of nContacts handles to contacts,
- if this array includes one or more contains that can not be transferred
- using this protocol the function will fail.
- -
- Will send an ack when the contacts actually get sent:
-
- type=ACKTYPE_CONTACTS, result=ACKRESULT_SUCCESS/FAILURE, lParam=0
- -
- No flags have ben defined yet,
- -
- The event will *not* be added to the database automatically
- }
- PSS_CONTACTS = '/SendContacts';
-
- {
- CCSDATA: Yes
- wParam : 0
- lParam : 0
- Affect : Send a request to retrieve MCONTACT's mode message, see notes
- Returns: a hProcess which will be ack'd later, NULL(0) on failure
- Notes : the reply will come in a form of an ack :
-
- type=ACKTYPE_AWAYMSG, result=ACKRESULT_SUCCESS/FAILURE,
- lParam=pointer to a null terminated string the containing message
- }
- PSS_GETAWAYMSG = '/GetAwayMsg';
-
- {
- CCSDATA: Yes
- wParam : hProcess
- lParam : pointer to a buffer to fill with away message to reply with
- Affect : Sends an away message reply to a user, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : This service must only be called is caps has PF1_MODEMSGSEND set
- as well as PF1_INDIVMODEMSG otherwise PS_SETAWAYMESSAGE should
- be used.
- -
- Reply will be sent in the form of an ack :
-
- type=ACKTYPE_AWAYMSG, result=ACKRESULT_SENTREQUEST, lParam=0
- }
- PSS_AWAYMSG = '/SendAwayMsg';
-
- {
- CCSDATA: Yes
- wParam : status_mode
- lParam : Pointer to a TPROTORECVEVENT structure
- Affect : An away message reply has been received
- }
- PSR_AWAYMSG = '/RecvAwayMsg';
-
- {
- CCSDATA: Yes
- wParam : status_mode
- lParam : 0
- Affect : Set the status mode the user will appear in to a user, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : If status_mode = 0 then revert to normal state for the user,
- ID_STATUS_ONLINE is possible if PF1_VISLIST
- ID_STATUS_ONLINE is possible if PF1_INDIVSTATUS
- }
- PSS_SETAPPARENTMODE = '/SetApparentMode';
-
- // only valid if caps support IM xfers
-
- {
- CCSDATA: Yes
- wParam : HTRANSFER
- lParam : null terminated string containing the path
- Affect : Allow a file transfer to begin, see notes
- Returns: A handle to the transfer to be used from now on.
- Notes : If the path does not point to a directory then:
- if a single file is being transfered and the protocol supports
- file renaming (PF1_CANRENAMEFILE) then the file is given
- this name, othewise the file is removed and file(s) are placed
- into the resulting directory.
- -
- File transfers are marked by a EVENTTYPE_FILE added to the database.
- The format is :
- hTransfer: DWORD
- filename(s), description: ASCIIZ
- }
- PSS_FILEALLOW = '/FileAllow';
-
- {
- CCSDATA: Yes
- wParam : HTRANSFER
- lparam : Pointer to a buffer to be filled with reason
- Affect : Refuses a file transfer request
- Returns: 0 on success, [non zero] on failure
- }
- PSS_FILEDENY = '/FileDeny';
-
- {
- CCSDATA: Yes
- wParam : HTRANSFER
- lParam : 0
- Affect : Cancel an in-progress file transfer
- Returns: 0 on success, [non zero] on failure
- }
- PSS_FILECANCEL = '/FileCancel';
-
- {
- CCSDATA: Yes
- wParam : null terminated string containing description
- lParam : pointer to an array of pchar's containing file paths/directories
- Affect : Start a file(s) send, see notes
- Returns: A HTRANSFER handle on success, NULL(0) on failur
- Notes : All notifications are done thru acks :
- -
- type=ACKTYPE_FILE, if result=ACKRESULT_FAILED then
- lParam=null terminated string containing reason
- }
- PSS_FILE = '/SendFile';
-
- // Receiving Services
- {>>/
- Receiving Services:
- Before a message is sent to /RecvMessage it goes through a MS_PROTO_CHAINRECV
- which allows any other module to change data (for decryption, etc),
- this then reaches /RecvMessage.
-
- This does not have to be the same structure/memory contained within that
- structure that started the chain call.
-
- /RecvMessage adds the event to the database, any other modules who
- are interested in what message the user will see should hook at this point.
- />>}
-
- {
- CCSDATA: Yes
- wParam : 0
- lParam : Pointer to a TPROTORECVEVENT
- Affect : An instant message has beeen received, see notes
- Returns: 0
- Notes : lParam^.lParam^.szMessage has the message, see structure above
- stored as DB event EVENTTYPE_MESSAGE, blob contains message
- string without null termination.
- }
- PSR_MESSAGE = '/RecvMessage';
-
- {
- CCSDATA: Yes
- wParam : 0
- lParam : Pointer to a TPROTORECVEVENT, see notes
- Affect : A URL has been received
- Notes : szMessage is encoded the same as PSS_URL
- -
- Stored in the database : EVENTTYPE_URL, blob contains message
- without null termination
- }
- PSR_URL = '/RecvUrl';
-
- {
- CCSDATA: Yes
- wParam : 0
- lParam : Pointer to a TPROTORECVEVENT
- Affect : Contacts have been received, see notes
- Notes : pre.szMessage is actually a PROTOSEARCHRESULT list
- pre.lParam is the number of contains in that list.
- -
- PS_ADDTOLIST can be used to add contacts to the list
- -
- repeat [
- ASCIIZ userNick
- ASCIIZ userId
- ]
- userNick should be a human-readable description of the user. It need not
- be the nick, or even confined to displaying just one type of
- information.
- userId should be a machine-readable representation of the unique
- protocol identifying field of the user. Because of the need to be
- zero-terminated, binary data should be converted to text.
- Use PS_ADDTOLISTBYEVENT to add the contacts from one of these to the list.
- }
- PSR_CONTACTS = '/RecvContacts';
-
- {
- CCSDATA: Yes
- wParam : 0
- lParam : Pointer to a TPROTORECVFILE
- Affect : File(s) have been received
- }
- PSR_FILE = '/RecvFile';
-
-{$ENDIF}
-
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_skin.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_skin.inc
deleted file mode 100644
index dabbd00960..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_skin.inc
+++ /dev/null
@@ -1,120 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_SKIN}
-{$DEFINE M_SKIN}
-
-const
-
- // event icons
-
- SKINICON_EVENT_MESSAGE = 100;
- SKINICON_EVENT_URL = 101;
- SKINICON_EVENT_FILE = 102;
-
- // other icons
- SKINICON_OTHER_MIRANDA = 200;
- SKINICON_OTHER_EXIT = 201;
- SKINICON_OTHER_SHOWHIDE = 202;
- SKINICON_OTHER_GROUPOPEN = 203; // v0.1.1.0+
- SKINICON_OTHER_GROUPSHUT = 205; // v0.1.1.0+
- SKINICON_OTHER_USERONLINE = 204; // v0.1.0.1+
-
- // menu icons are owned by the module that uses them so are not and should not
- // be skinnable. Except exit and show/hide
-
- // status mode icons. NOTE: These are deprecated in favour of LoadSkinnedProtoIcon()
- SKINICON_STATUS_OFFLINE = 0;
- SKINICON_STATUS_ONLINE = 1;
- SKINICON_STATUS_AWAY = 2;
- SKINICON_STATUS_NA = 3;
- SKINICON_STATUS_OCCUPIED = 4;
- SKINICON_STATUS_DND = 5;
- SKINICON_STATUS_FREE4CHAT = 6;
- SKINICON_STATUS_INVISIBLE = 7;
- SKINICON_STATUS_ONTHEPHONE = 8;
- SKINICON_STATUS_OUTTOLUNCH = 9;
-
-type
-
- PSKINSOUNDDESC = ^TSKINSOUNDDESC;
- TSKINSOUNDDESC = record
- cbSize: int;
- { name to refer to sound when playing and in DB }
- pszName: PChar;
- { description to use for it in options dialog }
- pszDescription: PChar;
- { the default sound file to use, WITHOUT path }
- pszDefaultFile: PChar;
- end;
-
-const
-
- {
- wParam : ICON_ID
- lParam : 0
- Affect : Load an icon from the user's custom skin lib, or from the exe
- if there isn't one loaded, see notes
- Return : HICON for the new icon, do *not* DestroyIcon() the return value
- returns NULL(0) if ICON_ID is invalid, but always success for a valid
- ID.
- }
- MS_SKIN_LOADICON = 'Skin/Icons/Load';
-
- {
- wParam : null terminated string containing the protocol name
- lParam : status_wanted
- Affect : Load an icon representing the status_wanted for a particular protocol, see notes
- Returns: an HICON for the new icon, do NOT DestroyIcon() the return value
- returns NULL(0) on failure.
- Notes : If wParam is NULL(0) the service will load the user's selected
- 'all protocols' status icon
- }
- MS_SKIN_LOADPROTOICON = 'Skin/Icons/LoadProto';
-
- {
- wParam : 0
- lParam : Pointer to a initialised SKINSOUNDDESC
- Affect : Add a new sound so it has a default and can be changed in the options dialog
- Returns: 0 on success, [non zero] on failure
- }
- MS_SKIN_ADDNEWSOUND = 'Skin/Sounds/AddNew';
-
- {
- wParam : 0
- lParam : Pointer to a null terminated string containing the name of the sound to play
- Affect : play a named sound event, play name should of been added
- with MS_SKIN_ADDNEWSOUND, see notes
- Notes : function will not fail, it will play the Windows
- }
- MS_SKIN_PLAYSOUND = 'Skin/Sounds/Play';
-
- {
- wParam : 0
- lParam : 0
- Affect : Sent when the icons DLL has been changed in the options dialog
- and everyone should remake their image lists.
- }
- ME_SKIN_ICONSCHANGED = 'Skin/IconsChanged';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_system.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_system.inc
deleted file mode 100644
index dff5909c86..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_system.inc
+++ /dev/null
@@ -1,170 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF M_SYSTEM}
-{$DEFINE M_SYSTEM}
-
-type
-
- TMM_INTERFACE = record
- cbSize: int;
- _malloc: function(cbSize: Integer): Pointer; cdecl;
- _realloc: function (pb: Pointer; cbSize: Integer): Pointer; cdecl;
- _free: procedure(pb: Pointer); cdecl;
- end;
-
-const
-
- MIRANDANAME = 'Miranda';
-
- {
- wParam : 0
- lParam : 0
- affect : called after all modules have been successfully initialised
- used to resolve double-dependencies in the module load order, see notes
- return : 0
- notes : Can be used to call services, etc that have not yet loaded
- when your module has.
- }
- ME_SYSTEM_MODULESLOADED = 'Miranda/System/ModulesLoaded';
-
- {
- wParam : 0
- lParam : 0
- affect : called just before Miranda terminates, the database is still running
- during this hook
- return : 0
- }
- ME_SYSTEM_SHUTDOWN = 'Miranda/System/Shutdown';
-
- {
- wParam : 0
- lParam : 0
- affect : called before Miranda actually shuts down -- everyone has to agree
- or it is not shut down.
- return : non zero to stop the shutdown
- }
- ME_SYSTEM_OKTOEXIT = 'Miranda/System/OkToExitEvent';
-
- {
- wParam : 0
- lParam : 0
- affect : service which sends everyone the ME_SYSTEM_OKTOEXIT event
- return : true if everyone is okay to exit, otherwise false
- }
- MS_SYSTEM_OKTOEXIT = 'Miranda/System/OkToExit';
-
- {
- wParam : 0
- lParam : 0
- return : returns the version number -- each byte set with version index,
- e.g. 1.2.3.4 $01020304
- }
- MS_SYSTEM_GETVERSION = 'Miranda/System/GetVersion';
-
- {
- wParam : size in bytes of the buffer to be filled
- lParam : pointer to the buffer to be filled
- affect : returns Miranda's version as text with build type such as '1.2.3.4 alpha'
- return : 0 on success -- non zero on failure
- }
- MS_SYSTEM_GETVERSIONTEXT = 'Miranda/System/GetVersionText';
-
- {
- wParam : Handle of a wait object to be used
- lParam : pointer to service name
- affect : causes the service name to be called whenever the wait object
- is signalled with CallService(Service, wParam=hWaitObjeect, lParam=0)
- return : 0 on success, non zero on failure, will always fail if
- more than 64 event objects are already being waited on because
- of the limit imposed by Windows.
- version: implemented after v0.1.2.0+
- other : QueueUserAPC() can be used instead of this service to wait
- for notifications, BUT *only* after v0.1.2.2+ since that deals
- with APC's
- }
- MS_SYSTEM_WAITONHANDLE = 'Miranda/System/WaitOnHandle';
-
- {
- wParam : hWaitObject to be removed
- lParam : 0
- affect : removes the wait object from the list, see above.
- returns: 0 on success, nonzero on failure
- version: implemented after v0.1.2.0+
- }
- MS_SYSTEM_REMOVEWAIT = 'Miranda/System/RemoveWait';
-
- {
- wParam : 0
- lParam : Pointer to an initialised TMM_INTERFACE
- affect : Get function pointers to, malloc(), free() and realloc() used by Miranda
- note : this should only be used carefully, make sure .cbSize is initialised with sizeof(TMM_INTERFACE)
- version: 0.1.2.2+
- }
- MS_SYSTEM_GET_MMI = 'Miranda/System/GetMMI';
-
- {
- wParam=0
- lParam=0
-
- Add a thread to the unwind wait stack that Miranda will poll on
- when it is tearing down modules.
-
- This must be called in the context of the thread that is to be pushed
- i.e. there are no args, it works out what thread is being called
- and gets itself a handle to the calling thread.
- }
- MS_SYSTEM_THREAD_PUSH = 'Miranda/Thread/Push';
-
- {
- wParam=0
- lParam=0
-
- Remove a thread from the unwind wait stack -- it is expected
- that the call be made in the context of the thread to be removed.
-
- Miranda will begin to tear down modules and plugins if/when the
- last thread from the unwind stack is removed.
- }
- MS_SYSTEM_THREAD_POP = 'Miranda/Thread/Pop';
-
- {
- wParam=0
- lParam=0
-
- This hook is fired just before the thread unwind stack is used,
- it allows MT plugins to shutdown threads if they have any special
- processing to do, etc.
- }
- ME_SYSTEM_PRESHUTDOWN = 'Miranda/System/PShutdown';
-
- {
- wParam=0
- lParam=0
-
- Returns TRUE when Miranda has got WM_QUIT and is in the process
- of shutting down
- }
- MS_SYSTEM_TERMINATED = 'Miranda/SysTerm';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_url.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_url.inc
deleted file mode 100644
index 393dcacff2..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_url.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_URL}
-{$DEFINE M_URL}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affects: bring up the send URL dialogbox for a user
- Returns: 0 on success, nonzero on failure, see notes
- Notes : service returns before the URL is sent.
- }
- MS_URL_SENDURL = 'SRUrl/SendCommand';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_userinfo.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_userinfo.inc
deleted file mode 100644
index 1013d26e2f..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_userinfo.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_USERINFO}
-{$DEFINE M_USERINFO}
-
-const
-
- {
- wParam : MCONTACT
- lParam : 0
- Affects: Show the user details dialog box for a contact, see notes
- Notes : I think this can be used to display "My User Details"... if NULL(0) is used
- }
- MS_USERINFO_SHOWDIALOG = 'UserInfo/ShowDialog';
-
- {
- wParam : 0
- lParam : MCONTACT
- Affects: The details dialog box was opened for a contact maybe NULL(0)
- showing the user details -- see notes
- Notes : The module should do whatever initialisation they need and
- call MS_USERINFO_ADDPAGE one or more times if they want
- pages displayed in the options dialog -- wParam should be passed
- straight as the wParam of MS_USERINFO_ADDPAGE.
- -
- The builtin userinfo module is not loaded til after all plugins
- have loaded -- therefore a HookEvent() for this event will fail,
- use ME_SYSTEM_MODULESLOADED event to know when everything has
- loaded and it's okay to hook this event.
- Version: v0.1.2.0+
- }
- ME_USERINFO_INITIALISE = 'UserInfo/Initialise';
-
- {
- wParam : wParam from ME_USERINFO_INITIALISE
- lParam : pointer to an initialised OPTIONSDIALOGPAGE (see m_options.inc)
- Affects: Adds a page to the details dialog, see notes
- Notes : this service should only be called within the ME_USERINFO_INITIALISE
- event -- when the pages get (WM_INITDIALOG lParam=MCONTACT) strings
- in the passed dialog structure can be freed soon as the service returns
- icons must be kept around (not a problem if you're loading from resource).
- -
- The group elements within the OPTIONSDIALOGPAGE are ignored,
- details dialog page should be 222x132 DLU's -- the details dialog
- box currently has no cancel button, pages will be sent PSN_INFOCHANGED
- thru WM_NOTIFY (idFrom=0) when a protocol ACK is broadcast for
- the correct contact with the type ACKTYPE_GETINFO.
- -
- PSN_INFOCHANGED will also be sent just after the page is created
- to help you out.
- -
- All PSN_* WM_NOTIFY messages have PSHNOTIFY.lParam=(LPARAM)hContact
- Version: v0.1.2.0+
- }
-
- PSN_INFOCHANGED = 1;
- { force-send a PSN_INFOCHANGED to all pages }
- PSM_FORCECHANGED = ($0400 + 100);
-
- MS_USERINFO_ADDPAGE = 'UserInfo/AddPage';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_utils.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_utils.inc
deleted file mode 100644
index ff092421f4..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/m_utils.inc
+++ /dev/null
@@ -1,279 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF M_UTILS}
-{$DEFINE M_UTILS}
-
-const
-
- RD_ANCHORX_CUSTOM = 0; // function did everything required to the x axis, do no more processing
- RD_ANCHORX_LEFT = 0; // move the control to keep it constant distance from the left edge of the dialog
- RD_ANCHORX_RIGHT = 1; // move the control to keep it constant distance from the right edge of the dialog
- RD_ANCHORX_WIDTH = 2; // size the control to keep it constant distance from both edges of the dialog
- RD_ANCHORX_CENTRE = 4; // move the control to keep it constant distance from the centre of the dialog
- RD_ANCHORY_CUSTOM = 0;
- RD_ANCHORY_TOP = 0;
- RD_ANCHORY_BOTTOM = 8;
- RD_ANCHORY_HEIGHT = 16;
- RD_ANCHORY_CENTRE = 32;
-
- // for MS_UTILS_RESTOREWINDOWPOSITION
-
- RWPF_NOSIZE = 1; // don't use stored size info: leave dialog same size
- RWPF_NOMOVE = 2; // don't use stored position
-
- // for WNDCLASS_COLOURPICKER
-
- CPM_SETCOLOUR = $1000;// lParam=new colour
- CPM_GETCOLOUR = $1001;// returns colour
- CPM_SETDEFAULTCOLOUR = $1002;// lParam=default, used as first custom colour
- CPM_GETDEFAULTCOLOUR = $1003;// returns colour
- CPN_COLOURCHANGED = 1; // sent through WM_COMMAND
-
-type
-
- PUTILRESIZECONTROL = ^TUTILRESIZECONTROL;
- TUTILRESIZECONTROL = record
- cbSize: int;
- wId: int; // control ID
- rcItem: TRect; // original control rectangle, relative to dialog
- // modify in-placee to specify the new position
- dlgOriginalSize: TSize; // size of dialog client area in template
- dlgNewSize: TSize; // current size of dialog client area
- end;
-
- TDIALOGRESIZERPROC = function(hwndDlg: THandle; lParam: LPARAM; urc: PUTILRESIZECONTROL): int; cdecl;
-
- PUTILRESIZEDIALOG = ^TUTILRESIZEDIALOG;
- TUTILRESIZEDIALOG = record
- cbSize: int;
- hwndDlg: THandle;
- hInstance: THandle;
- lpTemplate: PChar;
- lParam: LPARAM;
- pfnResizer: TDIALOGRESIZERPROC;
- end;
-
- PCountryListEntry = ^TCountryListEntry;
- TCountryListEntry = record
- id: int;
- szName: PChar;
- end;
-
- PWINDOWLISTENTRY = ^TWINDOWLISTENTRY;
- TWINDOWLISTENTRY = record
- hList: THandle;
- hWnd: THandle;
- hContact: THandle;
- end;
-
- PSAVEWINDOWPOS = ^TSAVEWINDOWPOS;
- TSAVEWINDOWPOS = record
- hWnd: THandle;
- hContact: THandle;
- szModule: PChar; // module name eto store the settings in
- szNamePrefix: PChar; // text to prefix on 'x', 'width', etc
- end;
-
-const
-
- {
- wParam : bOpenInNewWindow
- lParam : Pointer to a null terminated string containing Url
- Affect : Open a URRL in the user's default web browser, see notes
- Returns: 0 on success, [non zero on failure]
- Notes : bOpenInWindow should be zero to open the URL in the browoser window
- the user last used, or nonzero to open in a new browser window,
- if there's no browser running, it will be started to show the URL
- Version: v0.1.0.1+
- }
- MS_UTILS_OPENURL = 'Utils/OpenURL';
-
- {
- wParam : 0
- lParam : Pointer to an initalised TUTILRESIZEDIALOG structure
- Affect : Resize a dialog by calling a custom routine to move each control, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : Does not support DIALOGTEMPLATEEX dialogboxes, and will return
- failure if you try to resize one.-
- the dialog iteself should have been resized prior to calling this
- service, .pfnResizer is called once for each control in the dialog
- .pfnResizer should return a combination of one RD_ANCHORx_ and one RD_ANCHORy constant
- Version: v0.1.0.1+
- }
- MS_UTILS_RESIZEDIALOG = 'Utils/ResizeDialog';
-
- {
- wParam : countryID
- lParam : 0
- Affect : Get the name of a country given it's number, e.g. 44 = UK
- Returns: Returns a pointer to a string containing the country name on success
- NULL(0) on failure
- Version: v0.1.2.0+
- }
- MS_UTILS_GETCOUNTRYBYNUMBER = 'Utils/GetCountryByNumber';
-
- {
- wParam : Pointer to an int to be filled with count -- !TODO! test.
- lParam : Pointer to an PCountryListEntry, see notes
- Affect : Get the full list of country IDs, see notes
- Returns: 0 always
- Notes : the list is sorted alphabetically by name, on the assumption
- it's quicker to search numbers that are out of outer, than strings
- that are out of order. a NULL(0) entry terminates
- -
- Neither wParam or lParam can be NULL(0)
- -
- lParam is filled with the first entry, it can be accessed as a pointer,
- to get the next entry, increment the pointer by sizeof(Pointer) NOT
- sizeof(TCountryList), only increment the pointer as many times as
- given by iCount.
- -
- this data can NOT be copied if an array of TCountryListEntry's is passed
- so don't try it.
- Version: v0.1.2.0+
- }
- MS_UTILS_GETCOUNTRYLIST = 'Utils/GetCountryList';
-
- // see WindowList_* functions below
-
- {
- wParam : 0
- lParam : 0
- Affect : Allocate a window list
- Returns: A handle to the new window list
- Version: v0.1.0.1+
- }
- MS_UTILS_ALLOCWINDOWLIST = 'Utils/AllocWindowList';
-
- {
- wParam : 0
- lParam : Pointer to an initalised TWINDOWLISTENTRY structure
- Affect : Add a window to a given window list handle
- Returns: 0 on success, [non zero] on failure
- Version: v0.1.0.1+
- }
- MS_UTILS_ADDTOWINDOWLIST = 'Utils/AddToWindowList';
-
- {
- wParam : Handle to window list to remove from
- lParam : Window handle to remove
- Affect : Remove a window from the specified window list
- Returns: 0 on success, [non zero] on failure
- Version: v0.1.0.1+
- }
- MS_UTILS_REMOVEFROMWINDOWLIST = 'Utils/RemoveFromWindowList';
-
- {
- wParam : Handle to the window list to look in
- lParam : Handle to a MCONTACT to find in the window list
- Affect : Find a window handle given the hContact
- Returns: The found window handle or NULL(0) on failure
- Version: v0.1.0.1+
- }
- MS_UTILS_FINDWINDOWINLIST = 'Utils/FindWindowInList';
-
- {
- wParam : Handle to window list
- lParam : Pointer to TMSG (initalised with what to broadcast)
- Affect : Broadcast a message to all windows in a list, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : only TMSG.Message, .wParam, .lParam are used
- Version: v0.1.0.1+
- }
- MS_UTILS_BROADCASTTOWINDOWLIST = 'Utils/BroadcastToWindowList';
-
- {
- There aren't any services here, there's no need for them, the control class
- will obey the SS_LEFT (0), SS_CENTER (1), SS_RIGHT(2) styles
- the control will send STN_CLICKED via WM_COMMAND when the link itself is clicked
- -
- These are defined by STATIC controls and STN_CLICKED is sent to standard
- STATIC classes when they're clicked -- look at WINAPI docs for more info
- }
- WNDCLASS_HYPERLINK = 'Hyperlink';
-
- {
- wParam : 0
- lParam : Pointer to a initialised TSAVEWINDOWPOS structure
- Affect :
- Returns: 0 on success, [non zero] on failure
- Notes :
- Version: v0.1.1.0+
- }
- MS_UTILS_SAVEWINDOWPOSITION = 'Utils/SaveWindowPos';
-
- {
- wParam : see RWPF_* flags
- lParam : Pointer to a initalised TSAVEWINDOWPOS
- Affect : Restores the position of a window from the database, see notes
- Returns: 0 on success, [non zero] on failure
- Notes : If no position info was found, the service will return 1.
- The NoSize version won't use stored information size, the window
- is left the same size
- -
- See Utils_RestoreWindowPosition() Helper function, this function is
- a bit different from the C function (which can be inlined too! dammit)
- that there's only one function and not three (which just passed different flags)
- Version: v0.1.1.0+
- }
- MS_UTILS_RESTOREWINDOWPOSITION = 'Utils/RestoreWindowPos';
-
- {
- Colour picker control, see CPM_* and CPN_* constants above
- }
- WNDCLASS_COLOURPICKER = 'ColourPicker';
-
- {
- wParam : 0
- lParam : Pointer to a null terminated string containing filename
- Affect : Loads a bitmap (or other graphic type, see Notes
- Returns: HBITMAP on success, NULL(0) on failure
- Notes : This function also supports JPEG, GIF (and maybe PNG too)
- For speed, if the file extention is .bmp or .rle it will use LoadImage()
- and not load OLE for the extra image support
- -
- Remember to delete the returned handle with DeleteObject (see GDI documentation for WINAPI)
- Version: v0.1.2.1+
- }
- MS_UTILS_LOADBITMAP = 'Utils/LoadBitmap';
-
- {
- wParam : byte length of buffer (not to be confused with byte range)
- lParam : Pointer to buffer
- Affect : Get the filter strings for use in the open file dialog, see notes
- Returns: 0 on success [non zero] on failure
- Notes : See the WINAPI under OPENFILENAME.lpStrFiler for formatting,
- an 'All bitmaps' item is alway first, and 'All files' is always last
- -
- The returned string is always formatted
- -
- To build this filter, the filter string consists of
- filter followed by a descriptive text
- followed by more filters and their descriptive texts -- end with double NULL(0)
- e.g. *.bmp' #0 'All bitmaps' #0 '*.*' #0 'All Files' #0 #0
- }
- MS_UTILS_GETBITMAPFILTERSTRINGS = 'Utils/GetBitmapFilterStrings';
-
-{$endif}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.h b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.h
deleted file mode 100644
index ec268299be..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.h
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
-
-Miranda NG: the free IM client for Microsoft* Windows*
-
-Copyright (с) 2012-15 Miranda NG project (http://miranda-ng.org)
-Copyright (c) 2000-08 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#ifndef M_NEWPLUGINAPI_H__
-#define M_NEWPLUGINAPI_H__
-
-#include "m_plugins.h"
-
-#define PLUGIN_MAKE_VERSION(a,b,c,d) (((((DWORD)(a))&0xFF)<<24)|((((DWORD)(b))&0xFF)<<16)|((((DWORD)(c))&0xFF)<<8)|(((DWORD)(d))&0xFF))
-#define MAXMODULELABELLENGTH 64
-
-#if defined( _UNICODE )
- #define UNICODE_AWARE 1
-#else
- #define UNICODE_AWARE 0
-#endif
-
-typedef struct {
- int cbSize;
- char *shortName;
- DWORD version;
- char *description; // [TRANSLATED-BY-CORE]
- char *author;
- char *authorEmail;
- char *copyright;
- char *homepage;
- BYTE flags; // right now the only flag, UNICODE_AWARE, is recognized here
- int replacesDefaultModule; //one of the DEFMOD_ constants in m_plugins.h or zero
- //if non-zero, this will supress the loading of the specified built-in module
- //with the implication that this plugin provides back-end-compatible features
-} PLUGININFO;
-
-/* 0.7+
- New plugin loader implementation
-*/
-/* The UUID structure below is used to for plugin UUID's and module type definitions */
-typedef struct _MUUID {
- unsigned long a;
- unsigned short b;
- unsigned short c;
- unsigned char d[8];
-} MUUID;
-
-
-/* Used to define the end of the MirandaPluginInterface list */
-#define MIID_LAST {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}}
-
-/* Replaceable internal modules interface ids */
-#define MIID_HISTORY {0x5ca0cbc1, 0x999a, 0x4ea2, {0x8b, 0x44, 0xf8, 0xf6, 0x7d, 0x7f, 0x8e, 0xbe}}
-#define MIID_UIFINDADD {0xb22c528d, 0x6852, 0x48eb, {0xa2, 0x94, 0xe, 0x26, 0xa9, 0x16, 0x12, 0x13}}
-#define MIID_UIUSERINFO {0x570b931c, 0x9af8, 0x48f1, {0xad, 0x9f, 0xc4, 0x49, 0x8c, 0x61, 0x8a, 0x77}}
-#define MIID_SRURL {0x5192445c, 0xf5e8, 0x46c0, {0x8f, 0x9e, 0x2b, 0x6d, 0x43, 0xe5, 0xc7, 0x53}}
-#define MIID_SRAUTH {0x377780b9, 0x2b3b, 0x405b, {0x9f, 0x36, 0xb3, 0xc4, 0x87, 0x8e, 0x6f, 0x33)}
-#define MIID_SRAWAY {0x5ab54c76, 0x1b4c, 0x4a00, {0xb4, 0x4, 0x48, 0xcb, 0xea, 0x5f, 0xef, 0xe7}}
-#define MIID_SREMAIL {0xd005b5a6, 0x1b66, 0x445a, {0xb6, 0x3, 0x74, 0xd4, 0xd4, 0x55, 0x2d, 0xe2}}
-#define MIID_SRFILE {0x989d104d, 0xacb7, 0x4ee0, {0xb9, 0x6d, 0x67, 0xce, 0x46, 0x53, 0xb6, 0x95}}
-#define MIID_UIHELP {0xf2d35c3c, 0x861a, 0x4cc3, {0xa7, 0x8f, 0xd1, 0xf7, 0x85, 0x4, 0x41, 0xcb}}
-#define MIID_UIHISTORY {0x7f7e3d98, 0xce1f, 0x4962, {0x82, 0x84, 0x96, 0x85, 0x50, 0xf1, 0xd3, 0xd9}}
-#define MIID_AUTOAWAY {0x9c87f7dc, 0x3bd7, 0x4983, {0xb7, 0xfb, 0xb8, 0x48, 0xfd, 0xbc, 0x91, 0xf0}}
-#define MIID_USERONLINE {0x130829e0, 0x2463, 0x4ff8, {0xbb, 0xc8, 0xce, 0x73, 0xc0, 0x18, 0x84, 0x42}}
-#define MIID_IDLE {0x296f9f3b, 0x5b6f, 0x40e5, {0x8f, 0xb0, 0xa6, 0x49, 0x6c, 0x18, 0xbf, 0xa}}
-#define MIID_FONTSERVICE {0x56f39112, 0xe37f, 0x4234, {0xa9, 0xe6, 0x7a, 0x81, 0x17, 0x45, 0xc1, 0x75)}
-#define MIID_UPDATENOTIFY {0x4e68b12a, 0x6b54, 0x44de, {0x86, 0x37, 0xf1, 0x12, 0xd, 0xb6, 0x81, 0x40}}
-
-/* Common plugin interfaces (core plugins) */
-#define MIID_DATABASE {0xae77fd33, 0xe484, 0x4dc7, {0x8c, 0xbc, 0x9, 0x9f, 0xed, 0xcc, 0xcf, 0xdd}}
-#define MIID_CLIST {0x9d8da8bf, 0x665b, 0x4908, {0x9e, 0x61, 0x9f, 0x75, 0x98, 0xae, 0x33, 0xe}}
-#define MIID_CHAT {0x23576a43, 0x3a26, 0x4357, {0x9b, 0x1b, 0x4a, 0x71, 0x9e, 0x42, 0x5d, 0x48}}
-#define MIID_SRMM {0x58c7eea6, 0xf9db, 0x4dd9, {0x80, 0x36, 0xae, 0x80, 0x2b, 0xc0, 0x41, 0x4c}}
-#define MIID_IMPORT {0x5f3bcad4, 0x75f8, 0x476e, {0xb3, 0x6b, 0x2b, 0x30, 0x70, 0x32, 0x49, 0xc}}
-#define MIID_IMGSERVICES {0xf3974915, 0xc9d5, 0x4c87, {0x85, 0x64, 0xa0, 0xeb, 0xf9, 0xd2, 0x5a, 0xa0}}
-#define MIID_TESTPLUGIN {0x53b974f4, 0x3c74, 0x4dba, {0x8f, 0xc2, 0x6f, 0x92, 0xfe, 0x1, 0x3b, 0x8c}}
-
-/* Common plugin interfaces (non-core plugins) */
-#define MIID_VERSIONINFO {0xcfeb6325, 0x334e, 0x4052, {0xa6, 0x45, 0x56, 0x21, 0x93, 0xdf, 0xcc, 0x77}}
-#define MIID_FOLDERS {0xcfebec29, 0x39ef, 0x4b62, {0xad, 0x38, 0x9a, 0x65, 0x2c, 0xa3, 0x24, 0xed}}
-#define MIID_BIRTHDAYNOTIFY {0xcfba5784, 0x3701, 0x4d83, {0x81, 0x6a, 0x19, 0x9c, 0x00, 0xd4, 0xa6, 0x7a}}
-#define MIID_BONSAI {0xcfaae811, 0x30e1, 0x4a4f, {0x87, 0x84, 0x15, 0x3c, 0xcc, 0xb0, 0x03, 0x7a}}
-#define MIID_EXCHANGE {0xcfd79a89, 0x9959, 0x4e65, {0xb0, 0x76, 0x41, 0x3f, 0x98, 0xfe, 0x0d, 0x15}}
-#define MIID_MIRPY {0xcff91a5c, 0x1786, 0x41c1, {0x88, 0x86, 0x09, 0x4b, 0x14, 0x28, 0x1f, 0x15}}
-#define MIID_SERVICESLIST {0xcf4bdf02, 0x5d27, 0x4241, {0x99, 0xe5, 0x19, 0x51, 0xaa, 0xb0, 0xc4, 0x54}}
-#define MIID_TRANSLATOR {0xcfb637b0, 0x7217, 0x4c1e, {0xb2, 0x2a, 0xd9, 0x22, 0x32, 0x3a, 0x5d, 0x0b}}
-#define MIID_TOOLTIPS {0xbcbda043, 0x2716, 0x4404, {0xb0, 0xfa, 0x3d, 0x2d, 0x93, 0x81, 0x9e, 0x3}}
-#define MIID_POPUPS {0x33299069, 0x1919, 0x4ff8, {0xb1, 0x31, 0x1d, 0x7, 0x21, 0x78, 0xa7, 0x66}}
-#define MIID_LOGWINDOW {0xc53afb90, 0xfa44, 0x4304, {0xbc, 0x9d, 0x6a, 0x84, 0x1c, 0x39, 0x05, 0xf5}}
-#define MIID_EVENTNOTIFY {0xF3D7EC5A, 0xF7EF, 0x45DD, {0x8C, 0xA5, 0xB0, 0xF6, 0xBA, 0x18, 0x64, 0x7B}}
-#define MIID_SRCONTACTS {0x7CA6050E, 0xBAF7, 0x42D2, {0xB9, 0x36, 0x0D, 0xB9, 0xDF, 0x57, 0x2B, 0x95}}
-#define MIID_HISTORYEXPORT {0x18fa2ade, 0xe31b, 0x4b5d, {0x95, 0x3d, 0xa, 0xb2, 0x57, 0x81, 0xc6, 0x4}}
-
-/* Special exception interface for protocols.
- This interface allows more than one plugin to implement it at the same time
-*/
-#define MIID_PROTOCOL {0x2a3c815e, 0xa7d9, 0x424b, {0xba, 0x30, 0x2, 0xd0, 0x83, 0x22, 0x90, 0x85}}
-
-#define MIID_SERVICEMODE {0x8a92c026, 0x953a, 0x4f5f, { 0x99, 0x21, 0xf2, 0xc2, 0xdc, 0x19, 0x5e, 0xc5}}
-
-/* Each service mode plugin must implement MS_SERVICEMODE_LAUNCH */
-#define MS_SERVICEMODE_LAUNCH "ServiceMode/Launch"
-
-typedef struct {
- int cbSize;
- char *shortName;
- DWORD version;
- char *description;
- char *author;
- char *authorEmail;
- char *copyright;
- char *homepage;
- BYTE flags; // right now the only flag, UNICODE_AWARE, is recognized here
- int replacesDefaultModule; //one of the DEFMOD_ constants in m_plugins.h or zero
- //if non-zero, this will supress the loading of the specified built-in module
- //with the implication that this plugin provides back-end-compatible features
- /*********** WILL BE DEPRECATED in 0.8 * *************/
- MUUID uuid; // Not required until 0.8.
-} PLUGININFOEX;
-
-#ifndef MODULES_H_
- typedef int (*MIRANDAHOOK)(WPARAM,LPARAM);
- typedef int (*MIRANDAHOOKPARAM)(WPARAM,LPARAM,LPARAM);
- typedef int (*MIRANDAHOOKOBJ)(void*,WPARAM,LPARAM);
- typedef int (*MIRANDAHOOKOBJPARAM)(void*,WPARAM,LPARAM,LPARAM);
-
- typedef int (*MIRANDASERVICE)(WPARAM,LPARAM);
- typedef int (*MIRANDASERVICEPARAM)(WPARAM,LPARAM,LPARAM);
- typedef int (*MIRANDASERVICEOBJ)(void*,LPARAM,LPARAM);
- typedef int (*MIRANDASERVICEOBJPARAM)(void*,WPARAM,LPARAM,LPARAM);
-
- #define CALLSERVICE_NOTFOUND ((int)0x80000000)
-#endif
-
-//see modules.h for what all this stuff is
-typedef struct {
- HANDLE (*CreateHookableEvent)(const char *);
- int (*DestroyHookableEvent)(HANDLE);
- int (*NotifyEventHooks)(HANDLE,WPARAM,LPARAM);
- HANDLE (*HookEvent)(const char *,MIRANDAHOOK);
- HANDLE (*HookEventMessage)(const char *,HWND,UINT);
- int (*UnhookEvent)(HANDLE);
- HANDLE (*CreateServiceFunction)(const char *,MIRANDASERVICE);
- HANDLE (*CreateTransientServiceFunction)(const char *,MIRANDASERVICE);
- int (*DestroyServiceFunction)(HANDLE);
- int (*CallService)(const char *,WPARAM,LPARAM);
- int (*ServiceExists)(const char *); //v0.1.0.1+
- int (*CallServiceSync)(const char *,WPARAM,LPARAM); //v0.3.3+
- int (*CallFunctionAsync) (void (__stdcall *)(void *), void *); //v0.3.4+
- int (*SetHookDefaultForHookableEvent) (HANDLE, MIRANDAHOOK); // v0.3.4 (2004/09/15)
- HANDLE (*CreateServiceFunctionParam)(const char *,MIRANDASERVICEPARAM,LPARAM); // v0.7+ (2007/04/24)
- int (*NotifyEventHooksDirect)(HANDLE,WPARAM,LPARAM); // v0.7+
- #if MIRANDA_VER >= 0x800
- int (*CallProtoService)(const char *, const char *, WPARAM, LPARAM );
- int (*CallContactService)( HANDLE, const char *, WPARAM, LPARAM );
- HANDLE (*HookEventParam)(const char *,MIRANDAHOOKPARAM,LPARAM);
- HANDLE (*HookEventObj)(const char *,MIRANDAHOOKOBJ, void* );
- HANDLE (*HookEventObjParam)(const char *, MIRANDAHOOKOBJPARAM, void*, LPARAM);
- HANDLE (*CreateServiceFunctionObj)(const char *,MIRANDASERVICEOBJ,void*);
- HANDLE (*CreateServiceFunctionObjParam)(const char *,MIRANDASERVICEOBJPARAM,void*,LPARAM);
- #endif
-} PLUGINLINK;
-
-#ifndef MODULES_H_
- #ifndef NODEFINEDLINKFUNCTIONS
- //relies on a global variable 'pluginLink' in the plugins
- extern PLUGINLINK *pluginLink;
- #define CreateHookableEvent(a) pluginLink->CreateHookableEvent(a)
- #define DestroyHookableEvent(a) pluginLink->DestroyHookableEvent(a)
- #define NotifyEventHooks(a,b,c) pluginLink->NotifyEventHooks(a,b,c)
- #define HookEventMessage(a,b,c) pluginLink->HookEventMessage(a,b,c)
- #define HookEvent(a,b) pluginLink->HookEvent(a,b)
- #define UnhookEvent(a) pluginLink->UnhookEvent(a)
- #define CreateServiceFunction(a,b) pluginLink->CreateServiceFunction(a,b)
- #define CreateTransientServiceFunction(a,b) pluginLink->CreateTransientServiceFunction(a,b)
- #define DestroyServiceFunction(a) pluginLink->DestroyServiceFunction(a)
- #define CallService(a,b,c) pluginLink->CallService(a,b,c)
- #define ServiceExists(a) pluginLink->ServiceExists(a)
- #define CallServiceSync(a,b,c) pluginLink->CallServiceSync(a,b,c)
- #define CallFunctionAsync(a,b) pluginLink->CallFunctionAsync(a,b)
- #define SetHookDefaultForHookableEvent(a,b) pluginLink->SetHookDefaultForHookableEvent(a,b)
- #define CreateServiceFunctionParam(a,b,c) pluginLink->CreateServiceFunctionParam(a,b,c)
- #define NotifyEventHooksDirect(a,b,c) pluginLink->NotifyEventHooksDirect(a,b,c)
- #if MIRANDA_VER >= 0x800
- #define CallProtoService(a,b,c,d) pluginLink->CallProtoService(a,b,c,d)
- #define CallContactService(a,b,c,d) pluginLink->CallContactService(a,b,c,d)
- #define HookEventParam(a,b,c) pluginLink->HookEventParam(a,b,c)
- #define HookEventObj(a,b,c) pluginLink->HookEventObj(a,b,c)
- #define HookEventObjParam(a,b,c,d) pluginLink->HookEventObjParam(a,b,c,d)
- #define CreateServiceFunctionObj(a,b,c) pluginLink->CreateServiceFunctionObj(a,b,c)
- #define CreateServiceFunctionObjParam(a,b,c,d) pluginLink->CreateServiceFunctionObjParam(a,b,c,d)
- #endif
- #endif
-#endif
-
-/*
- Database plugin stuff
-*/
-
-// grokHeader() error codes
-#define EGROKPRF_NOERROR 0
-#define EGROKPRF_CANTREAD 1 // can't open the profile for reading
-#define EGROKPRF_UNKHEADER 2 // header not supported, not a supported profile
-#define EGROKPRF_VERNEWER 3 // header correct, version in profile newer than reader/writer
-#define EGROKPRF_DAMAGED 4 // header/version fine, other internal data missing, damaged.
-
-// makeDatabase() error codes
-#define EMKPRF_CREATEFAILED 1 // for some reason CreateFile() didnt like something
-
-typedef struct {
- int cbSize;
-
- /*
- returns what the driver can do given the flag
- */
- int (*getCapability) ( int flag );
-
- /*
- buf: pointer to a string buffer
- cch: length of buffer
- shortName: if true, the driver should return a short but descriptive name, e.g. "3.xx profile"
- Affect: The database plugin must return a "friendly name" into buf and not exceed cch bytes,
- e.g. "Database driver for 3.xx profiles"
- Returns: 0 on success, non zero on failure
- */
- int (*getFriendlyName) ( char * buf, size_t cch, int shortName );
-
- /*
- profile: pointer to a string which contains full path + name
- Affect: The database plugin should create the profile, the filepath will not exist at
- the time of this call, profile will be C:\..\<name>.dat
- Note: Do not prompt the user in anyway about this operation.
- Note: Do not initialise internal data structures at this point!
- Returns: 0 on success, non zero on failure - error contains extended error information, see EMKPRF_*
- */
- int (*makeDatabase) ( char * profile, int * error );
-
- /*
- profile: [in] a null terminated string to file path of selected profile
- error: [in/out] pointer to an int to set with error if any
- Affect: Ask the database plugin if it supports the given profile, if it does it will
- return 0, if it doesnt return 1, with the error set in error -- EGROKPRF_* can be valid error
- condition, most common error would be [EGROKPRF_UNKHEADER]
- Note: Just because 1 is returned, doesnt mean the profile is not supported, the profile might be damaged
- etc.
- Returns: 0 on success, non zero on failure
- */
- int (*grokHeader) ( char * profile, int * error );
-
- /*
- Affect: Tell the database to create all services/hooks that a 3.xx legecy database might support into link,
- which is a PLUGINLINK structure
- Returns: 0 on success, nonzero on failure
- */
- int (*Load) ( char * profile, void * link );
-
- /*
- Affect: The database plugin should shutdown, unloading things from the core and freeing internal structures
- Returns: 0 on success, nonzero on failure
- Note: Unload() might be called even if Load() was never called, wasLoaded is set to 1 if Load() was ever called.
- */
- int (*Unload) ( int wasLoaded );
-
-} DATABASELINK;
-
-#endif // M_NEWPLUGINAPI_H__ \ No newline at end of file
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.inc
deleted file mode 100644
index 44a4a9ef51..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/newpluginapi.inc
+++ /dev/null
@@ -1,209 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-{$IFNDEF NEWPLUGINAPI}
-{$DEFINE NEWPLUGINAPI}
-
-const
-
- MAXMODULELABELLENGTH = 64;
-
-type
-
- PPLUGININFO = ^TPLUGININFO;
- TPLUGININFO = record
- cbSize: int;
- shortName: PChar;
- version: DWORD;
- description: PChar;
- author: PChar;
- authorEmail: PChar;
- copyright: PChar;
- homepage: PChar;
- isTransient: Byte; // leave zero for now
- { one of the DEFMOD_* consts in m_plugin or zero, if non zero, this will
- suppress loading of the specified builtin module }
- replacesDefaultModule: int;
- end;
-
- PPLUGININFOEX = ^TPLUGININFOEX;
- TPLUGININFOEX = record
- cbSize: int;
- shortName: PChar;
- version: DWORD;
- description: PChar;
- author: PChar;
- authorEmail: PChar;
- copyright: PChar;
- homepage: PChar;
- isTransient: Byte; // leave zero for now
- { one of the DEFMOD_* consts in m_plugin or zero, if non zero, this will
- suppress loading of the specified builtin module }
- replacesDefaultModule: int;
- uuid: TGUID;
- end;
-
- { modules.h is never defined -- no check needed }
-
- TMIRANDAHOOK = function(wParam: WPARAM; lParam: LPARAM): int; cdecl;
- TMIRANDASERVICE = function(wParam: WPARAM; lParam: LPARAM): int; cdecl;
-
- {**************************hook functions****************************}
- (* TCreateHookableEvent
- Adds an named event to the list and returns a handle referring to it, or NIL
- on failure. Will be automatically destroyed on exit, or can be removed from the
- list earlier using TDestroyHookableEvent()
- Will fail if the given name has already been used
- *)
- TCreateHookableEvent = function(const char: PChar): THandle; cdecl;
-
- (* TDestroyHookableEvent
- Removes the event Handle from the list of events. All modules hooked to it are
- automatically unhooked. TNotifyEventHooks() will fail if called with this hEvent
- again. Handle must have been returned by CreateHookableEvent()
- Returns 0 on success, or nonzero if Handle is invalid
- *)
- TDestroyHookableEvent = function(Handle: THandle): int; cdecl;
-
- (* TNotifyEventHooks
- Calls every module in turn that has hooked Handle, using the parameters wParam
- and lParam. Handle must have been returned by TCreateHookableEvent()
- Returns 0 on success, -1 if Handle is invalid
- If one of the hooks returned nonzero to indicate abort, returns that abort
- value immediately, without calling the rest of the hooks in the chain
- Notes on calling TNotifyEventHooks() from a thread other than that which owns
- the main Miranda window:
- It works. The call is routed to the main thread and all hook subcribers are
- called in the context of the main thread. The thread which called
- TNotifyHookEvents() is paused until all the processing is complete at which
- point it returns with the correct return value.
- This procedure requires more than one wait object so naturally there are
- possibilities for deadlocks, but not many.
- Calling TNotifyEventHooks() from other than the main thread will be
- considerably slower than from the main thread, but will consume only slightly
- more actual CPU time, the rest will mostly be spent waiting for the main thread
- to return to the message loop so it can be interrupted neatly.
- *)
- TNotifyEventHooks = function(Handle: THandle; wParam: WPARAM; lParam: LPARAM): int; cdecl;
- (* THookEvent
- Adds a new hook to the chain 'char', to be called when the hook owner calls
- TNotifyEventHooks(). Returns NIL if name is not a valid event or a handle
- referring to the hook otherwise. Note that debug builds will warn with a
- MessageBoxA if a hook is attempted on an unknown event. All hooks will be
- automatically destroyed when their parent event is destroyed or the programme
- ends, but can be unhooked earlier using TUnhookEvent(). MIRANDAHOOK is defined as
- function(wParam: WPARAM; lParam: LPARAM): int; cdecl;
- where you can substitute your own name for function. wParam and lParam are
- defined by the creator of the event when TNotifyEventHooks() is called.
- The return value is 0 to continue processing the other hooks, or nonzero
- to stop immediately. This abort value is returned to the caller of
- TNotifyEventHooks() and should not be -1 since that is a special return code
- for TNotifyEventHooks() (see above)
- *)
- THookEvent = function(const char: PChar; MIRANDAHOOK: TMIRANDAHOOK): THandle; cdecl;
-
- (* THookEventMessage
- Works as for THookEvent(), except that when the notifier is called a message is
- sent to a window, rather than a function being called.
- Note that SendMessage() is a decidedly slow function so please limit use of
- this function to events that are not called frequently, or to hooks that are
- only installed briefly
- The window procedure is called with the message 'message' and the wParam and
- lParam given to TNotifyEventHooks(). The return value of SendMessage() is used
- in the same way as the return value in HookEvent().
- *)
- THookEventMessage = function(const char: PChar; Wnd: THandle; wMsg: Integer): THandle; cdecl;
-
- (* TUnhookEvent
- Removes a hook from its event chain. It will no longer receive any events.
- Handle must have been returned by THookEvent() or THookEventMessage().
- Returns 0 on success or nonzero if hHook is invalid.
- *)
- TUnhookEvent = function(Handle: THandle): int; cdecl;
-
- {*************************service functions**************************}
- (* TCreateServiceFunction
- Adds a new service function called 'char' to the global list and returns a
- handle referring to it. Service function handles are destroyed automatically
- on exit, but can be removed from the list earlier using
- TDestroyServiceFunction()
- Returns NIL if name has already been used. MIRANDASERVICE is defined by the
- caller as
- function(wParam: WPARAM; lParam: LPARAM): int; cdecl;
- where the creator publishes the meanings of wParam, lParam and the return value
- Service functions must not return CALLSERVICE_NOTFOUND since that would confuse
- callers of TCallService().
- *)
- TCreateServiceFunction = function(const char: PChar; MIRANDASERVICE: TMIRANDASERVICE): THandle; cdecl;
-
- (* DestroyServiceFunction
- Removes the function associated with MIRANDASERVICE from the global service function
- list. Modules calling TCallService() will fail if they try to call this
- service's name. MIRANDASERVICE must have been returned by TCreateServiceFunction().
- Returns 0 on success or non-zero if MIRANDASERVICE is invalid.
- *)
- TCreateTransientServiceFunction = function(const char: PChar; MIRANDASERVICE: TMIRANDASERVICE): THandle; cdecl;
-
- TDestroyServiceFunction = function(Handle: THandle): int; cdecl;
-
- (* TCallService
- Finds and calls the service function 'char' using the parameters wParam and
- lParam.
- Returns CALLSERVICE_NOTFOUND if no service function called 'char' has been
- created, or the value the service function returned otherwise.
- *)
- TCallService = function(const char: PChar; wParam: WPARAM; lParam: LPARAM): int; cdecl;
-
- (* TServiceExists
- Finds if a service with the given name exists
- Returns nonzero if the service was found, and zero if it was not
- *)
- TServiceExists = function(const char: PChar): int; cdecl;
-
- PPLUGINLINK = ^TPLUGINLINK;
- TPLUGINLINK = record
- CreateHookableEvent: TCreateHookableEvent;
- DestroyHookableEvent: TDestroyHookableEvent;
- NotifyEventHooks: TNotifyEventHooks;
- HookEvent: THookEvent;
- HookEventMessage: THookEventMessage;
- UnhookEvent: TUnhookEvent;
- CreateServiceFunction: TCreateServiceFunction;
- CreateTransientServiceFunction: TCreateTransientServiceFunction;
- DestroyServiceFunction: TDestroyServiceFunction;
- CallService: TCallService;
- ServiceExists: TServiceExists; // v0.1.0.1+
- end;
-
- { any module must export the below functions to be valid plugin
- the export names MUST be 'MirandaPluginInfo' 'Load' 'Unload' }
-
- TMirandaPluginInfo = function(mirandaVersion: DWORD): PPLUGININFO; cdecl;
- TLoad = function(link: PPLUGINLINK): int; cdecl;
- TUnload = function: int; cdecl;
-
-const
- CALLSERVICE_NOTFOUND = $80000000;
- MIID_LAST: TGUID = '{00000000-0000-0000-0000-000000000000}';
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/readme.txt b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/readme.txt
deleted file mode 100644
index 8b8e63231f..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-https://opensvn.csie.org/traccgi/historypp/browser/historypp/trunk/inc \ No newline at end of file
diff --git a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/statusmodes.inc b/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/statusmodes.inc
deleted file mode 100644
index 57facc8338..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/MirandaINC/statusmodes.inc
+++ /dev/null
@@ -1,54 +0,0 @@
-(*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*)
-
-{$IFNDEF STATUSMODES}
-{$DEFINE STATUSMODES}
-
-const
-
- // add 1 to the ID_STATUS_CONNECTING to mark retries (v0.1.0.1+)
- // e.g. ID_STATUS_CONNECTING+2 is the third connection attempt, or the second retry
-
- ID_STATUS_CONNECTING = 1;
-
- // max retries is just a marker, so that the clist knows what
- // numbers represent retries, it should set any kind of limit on the number
- // of retries you can and/or should do
-
- MAX_CONNECT_RETRIES = 10000;
-
- // and the modes!
-
- ID_STATUS_OFFLINE = 40071;
- ID_STATUS_ONLINE = 40072;
- ID_STATUS_AWAY = 40073;
- ID_STATUS_DND = 40074;
- ID_STATUS_NA = 40075;
- ID_STATUS_OCCUPIED = 40076;
- ID_STATUS_FREECHAT = 40077;
- ID_STATUS_INVISIBLE = 40078;
- ID_STATUS_ONTHEPHONE = 40079;
- ID_STATUS_OUTTOLUNCH = 40080;
-
-{$ENDIF}
diff --git a/plugins/!NotAdopted/Chess4Net/MI/PluginCommonUnit.pas b/plugins/!NotAdopted/Chess4Net/MI/PluginCommonUnit.pas
deleted file mode 100644
index 30cbdccec5..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/PluginCommonUnit.pas
+++ /dev/null
@@ -1,63 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit PluginCommonUnit;
-
-interface
-
-uses
- ConnectorUnit,
- ControlUnit;
-
-function CreatePluginInstance(Connector: TConnector): IMirandaPlugin;
-procedure InitializeControls;
-procedure DeinitializeControls;
-procedure ErrorDuringPluginStart;
-
-implementation
-
-uses
- Windows, Forms, Dialogs, Graphics, SysUtils, Controls,
- // plugin units
- GlobalsUnit, GlobalsLocalUnit, ManagerUnit.MI, ModalForm;
-
-function CreatePluginInstance(Connector: TConnector): IMirandaPlugin;
-begin
- Result := TManagerMIFactory.Create(Connector, ErrorDuringPluginStart);
-end;
-
-
-procedure InitializeControls;
-begin
- MirandaPluginPath := MirandaPluginsPath + 'Chess4Net\';
- Chess4NetPath := MirandaPluginPath;
- if (not DirectoryExists(Chess4NetPath)) then
- CreateDir(Chess4NetPath);
- Chess4NetIniFilePath := Chess4NetPath;
- Chess4NetGamesLogPath := Chess4NetPath;
- Chess4NetIcon := TIcon.Create;
- Chess4NetIcon.Handle := LoadIcon(hInstance, 'MAINICON');
- pluginIcon := Chess4NetIcon;
-
- MirandaPluginIcon := Chess4NetIcon;
-
- InitConnectorGlobals(MSG_INVITATION, PROMPT_HEAD, MSG_DATA_SEPARATOR);
-end;
-
-
-procedure DeinitializeControls;
-begin
- StopAllPlugins;
- FreeAndNil(Chess4NetIcon);
-end;
-
-
-procedure ErrorDuringPluginStart;
-begin
- TDialogs.ShowMessage('ERROR: Cannot start Chess4Net!');
-end;
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.dfm b/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.dfm
deleted file mode 100644
index f776089094..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.dfm
+++ /dev/null
@@ -1,47 +0,0 @@
-object TransmitGameSelectionForm: TTransmitGameSelectionForm
- Left = 487
- Top = 197
- BorderIcons = [biSystemMenu]
- BorderStyle = bsDialog
- Caption = 'Transmit Game'
- ClientHeight = 99
- ClientWidth = 381
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'Microsoft Sans Serif'
- Font.Style = []
- OldCreateOrder = False
- OnCreate = FormCreate
- PixelsPerInch = 96
- TextHeight = 13
- object OkButton: TTntButton
- Left = 296
- Top = 8
- Width = 75
- Height = 25
- Caption = '&OK'
- Default = True
- ModalResult = 1
- TabOrder = 1
- end
- object CancelButton: TTntButton
- Left = 296
- Top = 40
- Width = 75
- Height = 25
- Cancel = True
- Caption = '&Cancel'
- ModalResult = 2
- TabOrder = 2
- end
- object TransmitGameListBox: TTntListBox
- Left = 8
- Top = 8
- Width = 281
- Height = 81
- ItemHeight = 13
- TabOrder = 0
- end
-end
diff --git a/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.pas b/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.pas
deleted file mode 100644
index a70eb65ef5..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/TransmitGameSelectionUnit.pas
+++ /dev/null
@@ -1,83 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// All code below is exclusively owned by author of Chess4Net - Pavel Perminov
-// (packpaul@mail.ru, packpaul1@gmail.com).
-// Any changes, modifications, borrowing and adaptation are a subject for
-// explicit permition from the owner.
-
-unit TransmitGameSelectionUnit;
-
-interface
-
-uses
- Forms, Controls, StdCtrls, TntStdCtrls, Classes,
- //
- ModalForm;
-
-type
- TTransmitGameSelectionForm = class(TModalForm)
- OkButton: TTntButton;
- CancelButton: TTntButton;
- TransmitGameListBox: TTntListBox;
- procedure FormCreate(Sender: TObject);
- private
- procedure FLocalize;
- protected
- function GetModalID: TModalFormID; override;
- public
- procedure SetGames(Games: TStrings);
- function GetSelected: TObject;
- end;
-
-implementation
-
-{$R *.dfm}
-
-uses
- LocalizerUnit;
-
-////////////////////////////////////////////////////////////////////////////////
-// TTransmitGameSelectionForm
-
-procedure TTransmitGameSelectionForm.FormCreate(Sender: TObject);
-begin
- FLocalize;
-end;
-
-
-procedure TTransmitGameSelectionForm.FLocalize;
-begin
- with TLocalizer.Instance do
- begin
- Caption := GetLabel(67);
- OkButton.Caption := GetLabel(11);
- CancelButton.Caption := GetLabel(12);
- end;
-end;
-
-
-function TTransmitGameSelectionForm.GetModalID: TModalFormID;
-begin
- Result := mfTransmitGame;
-end;
-
-
-procedure TTransmitGameSelectionForm.SetGames(Games: TStrings);
-begin
- TransmitGameListBox.Items.Assign(Games);
- if (TransmitGameListBox.Count > 0) then
- TransmitGameListBox.ItemIndex := 0;
-end;
-
-
-function TTransmitGameSelectionForm.GetSelected: TObject;
-var
- iIndex: integer;
-begin
- iIndex := TransmitGameListBox.ItemIndex;
- if (iIndex >= 0) then
- Result := TransmitGameListBox.Items.Objects[iIndex]
- else
- Result := nil;
-end;
-
-end.
diff --git a/plugins/!NotAdopted/Chess4Net/MI/make.bat b/plugins/!NotAdopted/Chess4Net/MI/make.bat
deleted file mode 100644
index 4d4672bc2d..0000000000
--- a/plugins/!NotAdopted/Chess4Net/MI/make.bat
+++ /dev/null
@@ -1,36 +0,0 @@
-SET PROJ_DIR=Chess4Net_MI
-SET CHESS4NET_DIR=%PROJ_DIR%\Chess4Net
-
-rem -= Clean =-
-
-RMDIR /S /Q ..\bin\%PROJ_DIR%
-
-rem -= Environment =-
-
-MD ..\bin\%PROJ_DIR%
-MD ..\bin\%PROJ_DIR%\Chess4Net
-
-rem -= Compilation =-
-
-dcc32 -B Chess4Net_MI.dpr
-
-rem -= Build =-
-
-COPY ..\Readme.txt ..\bin\%PROJ_DIR%
-COPY ..\Readme_RU.txt ..\bin\%PROJ_DIR%
-
-COPY ..\Lang.ini ..\bin\%CHESS4NET_DIR%
-
-COPY ..\Build\Chigorin.mov ..\bin\%CHESS4NET_DIR%
-COPY ..\Build\Chigorin.pos ..\bin\%CHESS4NET_DIR%
-
-COPY ..\Build\eco.mov ..\bin\%CHESS4NET_DIR%
-COPY ..\Build\eco.pos ..\bin\%CHESS4NET_DIR%
-
-COPY ..\Build\Fischer.mov ..\bin\%CHESS4NET_DIR%
-COPY ..\Build\Fischer.pos ..\bin\%CHESS4NET_DIR%
-
-COPY ..\Build\Tal.mov ..\bin\%CHESS4NET_DIR%
-COPY ..\Build\Tal.pos ..\bin\%CHESS4NET_DIR%
-
-MOVE ..\bin\Chess4Net_MI.dll ..\bin\%PROJ_DIR%