diff options
Diffstat (limited to 'plugins/CmdLine/src/mimcmd_handlers.cpp')
-rw-r--r-- | plugins/CmdLine/src/mimcmd_handlers.cpp | 190 |
1 files changed, 68 insertions, 122 deletions
diff --git a/plugins/CmdLine/src/mimcmd_handlers.cpp b/plugins/CmdLine/src/mimcmd_handlers.cpp index 3e12950c61..13a73e109f 100644 --- a/plugins/CmdLine/src/mimcmd_handlers.cpp +++ b/plugins/CmdLine/src/mimcmd_handlers.cpp @@ -1193,29 +1193,21 @@ void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply re e.szModule = module;
e.timestamp = (DWORD) time(NULL);
- CallService(MS_DB_EVENT_ADD, (WPARAM) ack->hContact, (LPARAM) &e);
+ db_event_add(ack->hContact, &e);
}
- else{
- mir_snprintf(buffer, sizeof(buffer), Translate("Message to '%s' was marked as sent but the account seems to be offline"), contact);
- }
- }
- else{
- mir_snprintf(buffer, sizeof(buffer), Translate("Could not send message to '%s'."), contact);
+ else mir_snprintf(buffer, sizeof(buffer), Translate("Message to '%s' was marked as sent but the account seems to be offline"), contact);
}
+ else mir_snprintf(buffer, sizeof(buffer), Translate("Could not send message to '%s'."), contact);
}
- else{
- mir_snprintf(buffer, sizeof(buffer), Translate("Timed out while waiting for acknowledgement for contact '%s'."), contact);
- }
- }
- else{
- mir_snprintf(buffer, sizeof(buffer), Translate("Could not find contact handle for contact '%s'."), contact);
+ else mir_snprintf(buffer, sizeof(buffer), Translate("Timed out while waiting for acknowledgement for contact '%s'."), contact);
}
+ else mir_snprintf(buffer, sizeof(buffer), Translate("Could not find contact handle for contact '%s'."), contact);
if (i == 3)
{
STRNCPY(reply->message, buffer, reply->cMessage);
}
- else{
+ else {
strncat(reply->message, "\n", reply->cMessage);
strncat(reply->message, buffer, reply->cMessage);
}
@@ -1919,11 +1911,9 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r reply->code = MIMRES_SUCCESS;
*reply->message = 0;
- while (hContact)
- {
- HANDLE hUnreadEvent = (HANDLE) CallService(MS_DB_EVENT_FINDFIRSTUNREAD, (WPARAM) hContact, 0);
- if (hUnreadEvent != NULL)
- {
+ while (hContact) {
+ HANDLE hUnreadEvent = db_event_firstUnread(hContact);
+ if (hUnreadEvent != NULL) {
DWORD threadID;
HANDLE thread = CreateThread(NULL, NULL, OpenMessageWindowThread, hContact, NULL, &threadID);
}
@@ -1994,59 +1984,47 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re char *cmd = argv[2];
switch (argc)
{
- case 3:
+ case 3:
{
if (_stricmp(cmd, "unread") == 0)
{
- HANDLE hContact = db_find_first();
char buffer[4096];
int count;
int contacts = 0;
- DBEVENTINFO dbEvent = {0};
- dbEvent.cbSize = sizeof(DBEVENTINFO);
-
+ DBEVENTINFO dbEvent = { sizeof(dbEvent) };
+
reply->code = MIMRES_SUCCESS;
mir_snprintf(reply->message, reply->cMessage, Translate("No unread messages found."));
-
- while (hContact)
- {
- HANDLE hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDFIRSTUNREAD, (WPARAM) hContact, 0);
- if (hEvent != NULL)
- {
- char *contact;
- char protocol[128];
-
+
+ HANDLE hContact = db_find_first();
+ while (hContact) {
+ HANDLE hEvent = db_event_firstUnread(hContact);
+ if (hEvent != NULL) {
count = 0;
- while (hEvent != NULL)
- {
- if (!CallService(MS_DB_EVENT_GET, (WPARAM) hEvent, (LPARAM) &dbEvent))
- {
+ while (hEvent != NULL) {
+ if (!db_event_get( hEvent, &dbEvent))
if (!(dbEvent.flags & DBEF_READ))
- {
count++;
- }
- }
-
- hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDNEXT, (WPARAM) hEvent, 0);
+
+ hEvent = db_event_next(hEvent);
}
-
+
+ char protocol[128];
GetContactProto(hContact, protocol, sizeof(protocol));
- contact = GetContactName(hContact, protocol);
+ char *contact = GetContactName(hContact, protocol);
mir_snprintf(buffer, sizeof(buffer), Translate("%s:%s - %d unread events."), contact, protocol, count);
-
- if (contacts > 0)
- {
+
+ if (contacts > 0) {
strncat(reply->message, "\n", reply->cMessage);
strncat(reply->message, buffer, reply->cMessage);
}
- else{
- STRNCPY(reply->message, buffer, reply->cMessage);
- }
+ else STRNCPY(reply->message, buffer, reply->cMessage);
+
contacts++;
-
+
free(contact);
}
-
+
hContact = db_find_next(hContact);
}
}
@@ -2059,11 +2037,11 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re HandleUnknownParameter(command, cmd, reply);
}
}
-
+
break;
}
-
- case 4:
+
+ case 4:
{
char *contact = argv[3];
HANDLE hContact = ParseContactParam(contact);
@@ -2071,55 +2049,38 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re {
if (_stricmp(cmd, "unread") == 0)
{
- HANDLE hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDFIRSTUNREAD, (WPARAM) hContact, 0);
- DBEVENTINFO dbEvent = {0};
- dbEvent.cbSize = sizeof(DBEVENTINFO);
-
- char *message[4096];
- dbEvent.pBlob = (PBYTE) message;
-
+ HANDLE hEvent = db_event_firstUnread(hContact);
+
reply->code = MIMRES_SUCCESS;
-
- while (hEvent)
- {
- dbEvent.cbBlob = sizeof(message);
- if (!CallService(MS_DB_EVENT_GET, (WPARAM) hEvent, (LPARAM) &dbEvent)) //if successful call
- {
+
+ while (hEvent) {
+ DBEVENTINFO dbEvent = { sizeof(dbEvent) };
+ if (!db_event_get(hEvent, &dbEvent)) //if successful call
if (!(dbEvent.flags & DBEF_READ))
- {
AddHistoryEvent(&dbEvent, contact, reply);
- }
- }
-
- hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDNEXT, (WPARAM) hEvent, 0);
+
+ hEvent = db_event_next(hEvent);
}
}
- else{
- if (_stricmp(cmd, "show") == 0)
- {
- int count = CallService(MS_DB_EVENT_GETCOUNT, (WPARAM) hContact, 0);
-
- reply->code = MIMRES_SUCCESS;
- mir_snprintf(reply->message, reply->cMessage, Translate("Contact '%s' has '%d' events in history."), contact, count);
- }
- else{
- HandleUnknownParameter(command, cmd, reply);
- }
+ else if (_stricmp(cmd, "show") == 0) {
+ reply->code = MIMRES_SUCCESS;
+ mir_snprintf(reply->message, reply->cMessage, Translate("Contact '%s' has '%d' events in history."), contact, db_event_count(hContact));
}
+ else HandleUnknownParameter(command, cmd, reply);
}
- else{
+ else {
reply->code = MIMRES_FAILURE;
mir_snprintf(reply->message, reply->cMessage, Translate("Could not find contact handle for contact '%s'."), contact);
}
-
+
break;
}
-
- case 6:
+
+ case 6:
{
char *contact = argv[3];
HANDLE hContact = ParseContactParam(contact);
-
+
if (hContact)
{
if (_stricmp(cmd, "show") == 0)
@@ -2130,77 +2091,62 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re long stop = strtol(argv[5], &stop2, 10);
if (!(*stop1) && !(*stop2))
{
- int size = CallService(MS_DB_EVENT_GETCOUNT, (WPARAM) hContact, 0);
+ int size = db_event_count(hContact);
if (start < 0) { start = size + start + 1; }
if (stop < 0) { stop = size + stop + 1; }
-
+
reply->code = MIMRES_SUCCESS;
-
+
int count = stop - start + 1;
if (count > 0)
{
int index = 0;
- HANDLE hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDFIRST, (WPARAM) hContact, 0);
- DBEVENTINFO dbEvent = {0};
- dbEvent.cbSize = sizeof(DBEVENTINFO);
+ HANDLE hEvent = db_event_first(hContact);
+ DBEVENTINFO dbEvent = { sizeof(DBEVENTINFO) };
char message[4096];
dbEvent.pBlob = (PBYTE) message;
-
+
while (hEvent)
{
dbEvent.cbBlob = sizeof(message);
- if (!CallService(MS_DB_EVENT_GET, (WPARAM) hEvent, (LPARAM) &dbEvent)) // if successful call
+ if (!db_event_get( hEvent, &dbEvent)) // if successful call
{
dbEvent.pBlob[dbEvent.cbBlob] = 0;
if ((index >= start) && (index <= stop))
- {
AddHistoryEvent(&dbEvent, contact, reply);
- }
}
-
+
if (index > stop)
- {
break;
- }
-
- hEvent = (HANDLE) CallService(MS_DB_EVENT_FINDNEXT, (WPARAM) hEvent, 0);
+
+ hEvent = db_event_next(hEvent);
index++;
}
}
}
- else{
- HandleUnknownParameter(command, (*stop1) ? argv[4] : argv[5], reply);
- }
+ else HandleUnknownParameter(command, (*stop1) ? argv[4] : argv[5], reply);
}
else{
if (_stricmp(cmd, "unread") == 0)
- {
HandleWrongParametersCount(command, reply);
- }
- else{
+ else
HandleUnknownParameter(command, cmd, reply);
- }
}
}
else{
reply->code = MIMRES_FAILURE;
mir_snprintf(reply->message, reply->cMessage, Translate("Could not find contact handle for contact '%s'."), contact);
}
-
- break;
- }
-
- default:
- {
- HandleWrongParametersCount(command, reply);
-
+
break;
}
+
+ default:
+ HandleWrongParametersCount(command, reply);
+ break;
}
}
- else{
- HandleWrongParametersCount(command, reply);
- }
+ else HandleWrongParametersCount(command, reply);
}
void HandleVersionCommand(PCommand command, TArgument *argv, int argc, PReply reply)
|