/* Copyright (C) 2013 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 "stdafx.h" CVkProto::CVkProto(const char *szModuleName, const TCHAR *ptszUserName) : PROTO(szModuleName, ptszUserName) { CreateProtoService(PS_CREATEACCMGRUI, &CVkProto::SvcCreateAccMgrUI); } CVkProto::~CVkProto() { } int CVkProto::OnModulesLoaded(WPARAM wParam, LPARAM lParam) { return 0; } int CVkProto::OnPreShutdown(WPARAM wParam, LPARAM lParam) { return 0; } ////////////////////////////////////////////////////////////////////////////// DWORD_PTR CVkProto::GetCaps(int type, HANDLE hContact) { switch(type) { case PFLAGNUM_1: return PF1_IM | PF1_CHAT | PF1_SERVERCLIST | PF1_AUTHREQ | PF1_BASICSEARCH | PF1_SEARCHBYEMAIL | PF1_SEARCHBYNAME | PF1_MODEMSG; case PFLAGNUM_2: return PF2_ONLINE | PF2_INVISIBLE | PF2_ONTHEPHONE | PF2_IDLE; // | PF2_SHORTAWAY; case PFLAGNUM_3: return PF2_ONLINE; // | PF2_SHORTAWAY; case PFLAGNUM_4: return PF4_NOCUSTOMAUTH | PF4_FORCEADDED | PF4_IMSENDUTF | PF4_AVATARS | PF4_SUPPORTTYPING | PF4_NOAUTHDENYREASON | PF4_IMSENDOFFLINE; case PFLAGNUM_5: return PF2_ONTHEPHONE; case PFLAG_MAXLENOFMESSAGE: return 2000; case PFLAG_UNIQUEIDTEXT: return (DWORD_PTR)"VK ID"; case PFLAG_UNIQUEIDSETTING: return (DWORD_PTR)"ID"; } return 0; } ////////////////////////////////////////////////////////////////////////////// int CVkProto::SetStatus(int new_status) { return 0; } HANDLE CVkProto::SearchBasic(const PROTOCHAR* id) { return 0; } HANDLE CVkProto::SearchByEmail(const PROTOCHAR* email) { return 0; } HANDLE CVkProto::SearchByName(const PROTOCHAR* nick, const PROTOCHAR* firstName, const PROTOCHAR* lastName) { return 0; } HANDLE CVkProto::AddToList(int flags, PROTOSEARCHRESULT* psr) { return NULL; } int CVkProto::AuthRequest(HANDLE hContact,const PROTOCHAR *message) { return 0; } int CVkProto::Authorize(HANDLE hDbEvent) { //if (!hDbEvent) return 1; } int CVkProto::AuthDeny(HANDLE hDbEvent, const PROTOCHAR *reason) { //if (!hDbEvent || isOffline()) return 1; } int CVkProto::RecvMsg(HANDLE hContact, PROTORECVEVENT *pre) { return 0; } int CVkProto::SendMsg(HANDLE hContact, int flags, const char *msg) { return 0; } int CVkProto::UserIsTyping(HANDLE hContact, int type) { return 0; } HANDLE CVkProto::AddToListByEvent(int flags,int iContact,HANDLE hDbEvent) { return NULL; } int CVkProto::AuthRecv(HANDLE hContact,PROTORECVEVENT *) { return 1; } HANDLE CVkProto::ChangeInfo(int type,void *info_data) { MessageBoxA(0,"ChangeInfo","",0); return NULL; } HANDLE CVkProto::FileAllow(HANDLE hContact,HANDLE hTransfer,const PROTOCHAR *path) { return NULL; } int CVkProto::FileCancel(HANDLE hContact,HANDLE hTransfer) { return 1; } int CVkProto::FileDeny(HANDLE hContact,HANDLE hTransfer,const PROTOCHAR *reason) { return 1; } int CVkProto::FileResume(HANDLE hTransfer,int *action,const PROTOCHAR **filename) { return 1; } int CVkProto::GetInfo(HANDLE hContact, int infoType) { // TODO: Most probably some ProtoAck should be here instead return 1; } HWND CVkProto::SearchAdvanced(HWND owner) { return NULL; } HWND CVkProto::CreateExtendedSearchUI(HWND owner) { return NULL; } int CVkProto::RecvContacts(HANDLE hContact,PROTORECVEVENT *) { return 1; } int CVkProto::RecvFile(HANDLE hContact,PROTORECVFILET *) { return 1; } int CVkProto::RecvUrl(HANDLE hContact,PROTORECVEVENT *) { return 1; } int CVkProto::SendContacts(HANDLE hContact,int flags,int nContacts,HANDLE *hContactsList) { return 1; } HANDLE CVkProto::SendFile(HANDLE hContact,const PROTOCHAR *desc, PROTOCHAR **files) { return NULL; } int CVkProto::SendUrl(HANDLE hContact,int flags,const char *url) { return 1; } int CVkProto::SetApparentMode(HANDLE hContact,int mode) { return 1; } int CVkProto::RecvAwayMsg(HANDLE hContact,int mode,PROTORECVEVENT *evt) { return 1; } HANDLE CVkProto::GetAwayMsg(HANDLE hContact) { return 0; // Status messages are disabled } int CVkProto::SetAwayMsg(int status, const PROTOCHAR *msg) { return 0; // Status messages are disabled } ////////////////////////////////////////////////////////////////////////////// int CVkProto::OnEvent(PROTOEVENTTYPE event, WPARAM wParam, LPARAM lParam) { switch(event) { case EV_PROTO_ONLOAD: return OnModulesLoaded(wParam,lParam); case EV_PROTO_ONEXIT: return OnPreShutdown(wParam,lParam); case EV_PROTO_ONOPTIONS: return OnOptionsInit(wParam,lParam); } return 1; }