From 1d18d087d47d7a54f68950f983029642a54d6f43 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 7 Jun 2015 12:10:26 +0000 Subject: - common.props divided into app.props & plugin.props; - MimCmd & CmdLine converted to Unicode; git-svn-id: http://svn.miranda-ng.org/main/trunk@14048 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/CmdLine/MimCmd/src/MimCmd.cpp | 115 ---------------- plugins/CmdLine/MimCmd/src/commands.cpp | 229 -------------------------------- plugins/CmdLine/MimCmd/src/commands.h | 42 ------ plugins/CmdLine/MimCmd/src/common.h | 39 ------ plugins/CmdLine/MimCmd/src/resource.h | 14 -- plugins/CmdLine/MimCmd/src/stdafx.cpp | 18 --- plugins/CmdLine/MimCmd/src/version.h | 14 -- 7 files changed, 471 deletions(-) delete mode 100644 plugins/CmdLine/MimCmd/src/MimCmd.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/commands.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/commands.h delete mode 100644 plugins/CmdLine/MimCmd/src/common.h delete mode 100644 plugins/CmdLine/MimCmd/src/resource.h delete mode 100644 plugins/CmdLine/MimCmd/src/stdafx.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/version.h (limited to 'plugins/CmdLine/MimCmd/src') diff --git a/plugins/CmdLine/MimCmd/src/MimCmd.cpp b/plugins/CmdLine/MimCmd/src/MimCmd.cpp deleted file mode 100644 index 688205e6f8..0000000000 --- a/plugins/CmdLine/MimCmd/src/MimCmd.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -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. -*/ - -#include "common.h" - -int hLangpack = 0; - -int lpprintf(const char *format, ...) -{ - va_list va; - va_start(va, format); - const int MAX_SIZE = 16192; - char buffer[MAX_SIZE] = {0}; - int len = mir_vsnprintf(buffer, MAX_SIZE - 1, format, va); - buffer[MAX_SIZE - 1] = 0; - va_end(va); - CharToOemBuff(buffer, buffer, len); - printf("%s", buffer); - - return len; -} - -char *GetProgramName(char *programName, int size) -{ - char name[512]; - GetModuleFileName(GetModuleHandle(NULL), name, sizeof(name)); - char *p = strrchr(name, '\\'); - if (p) - { - STRNCPY(programName, p + 1, size); - } - else{ - STRNCPY(programName, name, size); - } - - return programName; -} - -void PrintUsage() -{ - char name[128]; - GetProgramName(name, sizeof(name)); - - lpprintf(Translate("%s usage:\n"), name); - lpprintf(Translate("%s [ [ [...]]].\n"), name); - lpprintf(Translate("This will tell Miranda to run the specified command. The commands can have zero, one or more parameters. Use '%s help' to get a list of possible commands.\n"), name); - lpprintf(Translate("No command can have more than %d parameters.\n"), MAX_ARGUMENTS - 1); -} - -void ShowVersion() -{ - char name[128]; - char message[1024]; - GetProgramName(name, sizeof(name)); - mir_snprintf(message, sizeof(message), Translate("%s version %s"), name, __VERSION_STRING_DOTS); - - lpprintf("%s\n", message); -} - -int main(int argc, char *argv[]) -{ - int error = 0; - if ((argc == 2) && (mir_strcmp(argv[1], "-v") == 0)) - { - ShowVersion(); - - return 0; - } - - if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule())) - { - lpprintf("Could not create connection with Miranda or could not retrieve list of known commands.\n"); - error = MIMRES_NOMIRANDA; - } - else{ - if ((argc <= 1) || (argc > MAX_ARGUMENTS)) - { - PrintUsage(); - } - else{ - PReply reply = ParseCommand(argv, argc); - if (reply) - { - error = reply->code; - lpprintf("%s\n", reply->message); - } - else{ - lpprintf(Translate("Unknown command '%s'.\n"), argv[1]); - } - - DestroyKnownCommands(); - DisconnectFromMiranda(); - DestroyClient(); - } - } - - return error; -} diff --git a/plugins/CmdLine/MimCmd/src/commands.cpp b/plugins/CmdLine/MimCmd/src/commands.cpp deleted file mode 100644 index bdccae6709..0000000000 --- a/plugins/CmdLine/MimCmd/src/commands.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -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. -*/ - -#include "common.h" - -inline char *STRNCPY(char *output, const char *input, size_t size) -{ - char *res = strncpy(output, input, size); - output[size - 1] = 0; - - return res; -} - -LISTCOMMANDS ListCommands = NULL; - -PCommand knownCommands = NULL; -int cKnownCommands = 0; - -HMODULE hCmdLineDLL = NULL; - -char *GetMirandaFolder(char *mimFolder, int size) -{ - STRNCPY(mimFolder, sdCmdLine->mimFolder, size); - mimFolder[size - 1] = 0; - - return mimFolder; -} - - -int ConnectToMiranda() -{ - char pluginPath[1024]; - GetMirandaFolder(pluginPath, sizeof(pluginPath)); - mir_strcat(pluginPath, "\\plugins\\cmdline.dll"); - - ListCommands = NULL; - - hCmdLineDLL = LoadLibrary(pluginPath); - - int failure = 1; - if (hCmdLineDLL) - { - ListCommands = (LISTCOMMANDS) GetProcAddress(hCmdLineDLL, "ListCommands"); - } - - if (ListCommands) - { - failure = 0; - } - - return failure; -} - -int DisconnectFromMiranda() -{ - return FreeLibrary(hCmdLineDLL); -} - -int GetKnownCommands() -{ - ListCommands(&knownCommands, &cKnownCommands); - - return (knownCommands == NULL); -} - -int DestroyKnownCommands() -{ - - - return 0; -} - -PCommand GetCommand(char *command) -{ - int i; - char lower[512]; - STRNCPY(lower, command, sizeof(lower)); - _strlwr(lower); - - for (i = 0; i < cKnownCommands; i++) - { - if (mir_strcmp(knownCommands[i].command, lower) == 0) - { - return &knownCommands[i]; - } - } - - //allow more parameters to trigger the help command - /h -h /? --help - if ((mir_strcmp(lower, "/h") == 0) || (mir_strcmp(lower, "-h") == 0) || (mir_strcmp(lower, "/?") == 0) || (mir_strcmp(lower, "--help") == 0)) - { - for (i = 0; i < cKnownCommands; i++) - { - if (knownCommands[i].ID == MIMCMD_HELP) - { - return &knownCommands[i]; - } - } - } - - return NULL; -} - -void HandleHelpCommand(PCommand helpCommand, char *argv[], int argc, PReply reply) -{ - CMStringA szReply; - - if (argc >= 3) { - PCommand command = GetCommand(argv[2]); - - if (command) { - reply->code = MIMRES_SUCCESS; - szReply.Append(Translate(command->help)); - } - else { - reply->code = MIMRES_NOTFOUND; - szReply.AppendFormat(Translate("No help for '%s'."), argv[2]); - } - } - else { - reply->code = MIMRES_SUCCESS; - szReply.Append(Translate("Available commands: ")); - - for (int i = 0; i < cKnownCommands - 1; i++) { - szReply.Append(knownCommands[i].command); - szReply.Append(", "); - } - szReply.Append(knownCommands[cKnownCommands-1].command); - szReply.AppendChar('.'); - } - strncpy_s(reply->message, szReply, _TRUNCATE); -} - -PReply ParseCommand(char *argv[], int argc) -{ - PCommand command = GetCommand(argv[1]); - if (!command) - return NULL; - - PReply reply = &sdCmdLine->reply; - if (command->ID == MIMCMD_HELP) - HandleHelpCommand(command, argv, argc, reply); - else - ProcessConsoleCommand(command, argv, argc, reply); - - return reply; -} - -void FillSharedDataStruct(PCommand command, char *arguments[], int count) -{ - for (int i = 0; i < count; i++) - { - STRNCPY(sdCmdLine->arguments[i], arguments[i], ARGUMENT_SIZE); - } - - sdCmdLine->cArguments = count; - sdCmdLine->command = *command; - *sdCmdLine->reply.message = 0; - sdCmdLine->reply.code =-1; -} - -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply) -{ - const HANDLE events[] = {heServerDone, heServerClose, heServerBufferFull}; - const int cEvents = sizeof(events) / sizeof(events[0]); - - if (WaitForSingleObject(hmClient, INFINITE) == WAIT_OBJECT_0) - {//got the mutex, we're the only one who can talk to miranda now - FillSharedDataStruct(command, arguments, count); - SetEvent(heServerExec); //tell Miranda to process the request - - int done = FALSE; - while (!done) - { - switch (WaitForMultipleObjects(cEvents, events, FALSE, INFINITE)) //wait until server either finished processing or miranda was closed - { - case WAIT_OBJECT_0: //done event - { - done = TRUE; - - break; //nothing to do - } - - case WAIT_OBJECT_0 + 1: //close event - default: - { - mir_strcpy(sdCmdLine->reply.message, Translate("Miranda has been closed or an error has occurred while waiting for the result, could not process request.")); - done = TRUE; - - break; - } - - case WAIT_OBJECT_0 + 2: //buffer full event - { - lpprintf("%s", reply->message); - - break; - } - } - } - - reply->code = sdCmdLine->reply.code; - STRNCPY(reply->message, sdCmdLine->reply.message, REPLY_SIZE); - - ReleaseMutex(hmClient); //let other possible clients talk to the server - } - else{ - int err = GetLastError(); - reply->code = -1; - *reply->message = 0; - } - -} \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/commands.h b/plugins/CmdLine/MimCmd/src/commands.h deleted file mode 100644 index 4c60b49565..0000000000 --- a/plugins/CmdLine/MimCmd/src/commands.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -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_MIMCMD_COMMANDS_H -#define M_MIMCMD_COMMANDS_H - -extern PCommand knownCommands; -extern int cKnownCommands; - -typedef void (* LISTCOMMANDS)(PCommand *commands, int *count); - -extern LISTCOMMANDS ListCommands; - -char *GetMirandaFolder(); - -int ConnectToMiranda(); -int DisconnectFromMiranda(); -int GetKnownCommands(); -int DestroyKnownCommands(); - -PCommand GetCommand(char *command); -PReply ParseCommand(char *argv[], int argc); -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply); - -#endif \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/common.h b/plugins/CmdLine/MimCmd/src/common.h deleted file mode 100644 index 675276cf09..0000000000 --- a/plugins/CmdLine/MimCmd/src/common.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -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. -*/ - -#define _CRT_SECURE_NO_WARNINGS - -#include -#include - -#define NO_MIMCMD_COMMANDS - -#include -#include -#include -#include -#include - -#include "..\..\src\mimcmd_ipc.h" -#include "version.h" -#include "..\..\src\utils.h" -#include "commands.h" - -int lpprintf(const char *format, ...); diff --git a/plugins/CmdLine/MimCmd/src/resource.h b/plugins/CmdLine/MimCmd/src/resource.h deleted file mode 100644 index c3bc570152..0000000000 --- a/plugins/CmdLine/MimCmd/src/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by version.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/plugins/CmdLine/MimCmd/src/stdafx.cpp b/plugins/CmdLine/MimCmd/src/stdafx.cpp deleted file mode 100644 index c5fe5abaad..0000000000 --- a/plugins/CmdLine/MimCmd/src/stdafx.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (C) 2012-15 Miranda NG project (http://miranda-ng.org) - -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 version 2 -of the License. - -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, see . -*/ - -#include "common.h" \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/version.h b/plugins/CmdLine/MimCmd/src/version.h deleted file mode 100644 index 9dc4c88e49..0000000000 --- a/plugins/CmdLine/MimCmd/src/version.h +++ /dev/null @@ -1,14 +0,0 @@ -#define __MAJOR_VERSION 0 -#define __MINOR_VERSION 0 -#define __RELEASE_NUM 4 -#define __BUILD_NUM 1 - -#include - -#define __PLUGIN_NAME "MimCmd" -#define __FILENAME "MimCmd.exe" -#define __DESCRIPTION "This will tell Miranda to run the specified command." -#define __AUTHOR "Cristian Libotean" -#define __AUTHOREMAIL "eblis102@yahoo.com" -#define __AUTHORWEB "http://miranda-ng.org/p/CmdLine/" -#define __COPYRIGHT "© 2007-2011 Cristian Libotean" -- cgit v1.2.3