summaryrefslogtreecommitdiff
path: root/plugins/ExternalAPI/delphi/m_ftpfile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ExternalAPI/delphi/m_ftpfile.inc')
-rw-r--r--plugins/ExternalAPI/delphi/m_ftpfile.inc101
1 files changed, 101 insertions, 0 deletions
diff --git a/plugins/ExternalAPI/delphi/m_ftpfile.inc b/plugins/ExternalAPI/delphi/m_ftpfile.inc
new file mode 100644
index 0000000000..0f43e8941e
--- /dev/null
+++ b/plugins/ExternalAPI/delphi/m_ftpfile.inc
@@ -0,0 +1,101 @@
+{
+FTP File YM plugin
+Copyright (C) 2007-2010 Jan Holub
+
+This is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this file; see the file license.txt. If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+}
+
+
+{$IFNDEF M_FTP_FILE}
+{$DEFINE M_FTP_FILE}
+
+const
+ FNUM_DEFAULT = 0; // user's default FTP server
+ FNUM_FTP1 = 1; // first FTP server in setting
+ FNUM_FTP2 = 2; // second...
+ FNUM_FTP3 = 3;
+ FNUM_FTP4 = 4;
+ FNUM_FTP5 = 5;
+
+ FMODE_RAWFILE = 1; // Object list contains path(s) to file(s) which will be uploaded as they are
+ FMODE_ZIPFILE = 2; // ... path(s) to file(s) which will be zipped and uploaded as one ZIP file
+ FMODE_ZIPFOLDER = 4; // ... path to folder which will be zipped and uploaded as one ZIP file (objectCount == 1)
+
+ FUPL_UNICODE = 1; // Object list contains WCHAR* paths
+
+type
+ TFTPUPLOAD = record
+ cbSize:int; // size of the structure
+ hContact:TMCONTACT; // contact handle, can be NULL
+ ftpNum:byte; // number of the FTP server which will be used for upload, can be one of FNUM_* values
+ mode:byte; // upload mode, can be one of FMODE_* values
+ flags:dword; // bitwise OR of the FUPL_* flags above
+ pszObjects:^TChar; // pointer to the array of the object(s) to upload, content is determined by MODE value
+ objectCount:int; // number of items in Object list
+ end;
+
+const
+//
+// Send file(s) or folder in selected mode to the FTP server
+// wParam = 0; not used
+// lParam = (LPARAM)(FTPUPLOAD*)&ftpu; pointer to FTPUPLOAD
+// returns 0 if upload started with no errors, nonzero otherwise
+//
+ MS_FTPFILE_UPLOAD:PAnsiChar = 'FTPFile/Upload';
+
+(*
+__inline static INT_PTR FTPFileUploadA(MCONTACT hContact, BYTE ftpNum, BYTE mode, char **pszObjects, int objCount)
+{
+ FTPUPLOAD ftpu = {0};
+ ftpu.cbSize = sizeof(ftpu);
+ ftpu.hContact = hContact;
+ ftpu.ftpNum = ftpNum;
+ ftpu.mode = mode;
+ ftpu.pszObjects = pszObjects;
+ ftpu.objectCount = objCount;
+ return CallService(MS_FTPFILE_UPLOAD, 0, (LPARAM)&ftpu);
+}
+
+__inline static INT_PTR FTPFileUploadW(MCONTACT hContact, BYTE ftpNum, BYTE mode, wchar_t **pswzObjects, int objCount)
+{
+ FTPUPLOAD ftpu = {0};
+ ftpu.cbSize = sizeof(ftpu);
+ ftpu.hContact = hContact;
+ ftpu.ftpNum = ftpNum;
+ ftpu.mode = mode;
+ ftpu.flags = FUPL_UNICODE;
+ ftpu.pswzObjects = pswzObjects;
+ ftpu.objectCount = objCount;
+ return CallService(MS_FTPFILE_UPLOAD, 0, (LPARAM)&ftpu);
+}
+*)
+
+//
+// Show a simple file manager
+// wParam = 0; not used
+// lParam = 0; not used
+// returns 0 always
+//
+ MS_FTPFILE_SHOWMANAGER:PAnsiChar = 'FTPFile/ShowManager';
+
+
+//
+// OBSOLOTE SERVICE (used by Send Screenshot plugin)
+// Do NOT use it!
+//
+ MS_FTPFILE_SHAREFILE:PAnsiChar = 'FTPFile/ShareFiles';
+
+{$ENDIF}