diff options
-rw-r--r-- | protocols/Twitter/contacts.cpp | 33 | ||||
-rw-r--r-- | protocols/Twitter/main.cpp | 2 | ||||
-rw-r--r-- | protocols/Twitter/proto.cpp | 4 | ||||
-rw-r--r-- | protocols/Twitter/proto.h | 22 | ||||
-rw-r--r-- | protocols/Twitter/stubs.cpp | 19 | ||||
-rw-r--r-- | protocols/Twitter/twitter.h | 6 | ||||
-rw-r--r-- | protocols/Twitter/twitter.vcxproj | 1 | ||||
-rw-r--r-- | protocols/Twitter/twitter.vcxproj.filters | 3 |
8 files changed, 53 insertions, 37 deletions
diff --git a/protocols/Twitter/contacts.cpp b/protocols/Twitter/contacts.cpp index 9ab2f65905..6478ac09db 100644 --- a/protocols/Twitter/contacts.cpp +++ b/protocols/Twitter/contacts.cpp @@ -23,6 +23,7 @@ void TwitterProto::AddToListWorker(void *p) // TODO: what happens if there is an error?
if(p == 0)
return;
+
char *name = static_cast<char*>(p);
try
@@ -48,8 +49,8 @@ HANDLE TwitterProto::AddToList(int flags,PROTOSEARCHRESULT *result) if(m_iStatus != ID_STATUS_ONLINE)
return 0;
- ForkThread(&TwitterProto::AddToListWorker,this,mir_strdup(result->nick));
- return AddToClientList(result->nick,"");
+ ForkThread(&TwitterProto::AddToListWorker,this,mir_utf8encodeT(result->nick));
+ return AddToClientList( _T2A(result->nick),"");
}
// *************************
@@ -98,9 +99,9 @@ int TwitterProto::GetInfo(HANDLE hContact,int info_type) struct search_query
{
- search_query(const std::string &query,bool by_email) : query(query),by_email(by_email)
+ search_query(const std::tstring &_query,bool _by_email) : query(_query),by_email(_by_email)
{}
- std::string query;
+ std::tstring query;
bool by_email;
};
@@ -116,11 +117,14 @@ void TwitterProto::DoSearch(void *p) bool found;
try
{
+ char* p = mir_utf8encodeT( query->query.c_str());
+
ScopedLock s(twitter_lock_);
if(query->by_email)
- found = twit_.get_info_by_email(query->query,&info);
+ found = twit_.get_info_by_email(p,&info);
else
- found = twit_.get_info(query->query,&info);
+ found = twit_.get_info(p,&info);
+ mir_free( p );
}
catch(const std::exception &e)
{
@@ -129,14 +133,15 @@ void TwitterProto::DoSearch(void *p) LOG("***** Error searching for contacts: %s",e.what());
}
- if(found)
- {
- psr.nick = const_cast<char*>( info.username. c_str() );
- psr.firstName = const_cast<char*>( info.real_name.c_str() );
+ if(found) {
+ psr.nick = mir_a2t( info.username. c_str());
+ psr.firstName = mir_a2t( info.real_name.c_str());
- ProtoBroadcastAck(m_szModuleName,0,ACKTYPE_SEARCH,ACKRESULT_DATA,(HANDLE)1,
- (LPARAM)&psr);
+ ProtoBroadcastAck(m_szModuleName,0,ACKTYPE_SEARCH,ACKRESULT_DATA,(HANDLE)1, (LPARAM)&psr);
ProtoBroadcastAck(m_szModuleName,0,ACKTYPE_SEARCH,ACKRESULT_SUCCESS,(HANDLE)1,0);
+
+ mir_free(psr.nick);
+ mir_free(psr.firstName);
}
else
{
@@ -146,13 +151,13 @@ void TwitterProto::DoSearch(void *p) delete query;
}
-HANDLE TwitterProto::SearchBasic(const char *username)
+HANDLE TwitterProto::SearchBasic(const TCHAR *username)
{
ForkThread(&TwitterProto::DoSearch,this,new search_query(username,false));
return (HANDLE)1;
}
-HANDLE TwitterProto::SearchByEmail(const char *email)
+HANDLE TwitterProto::SearchByEmail(const TCHAR *email)
{
ForkThread(&TwitterProto::DoSearch,this,new search_query(email,true));
return (HANDLE)1;
diff --git a/protocols/Twitter/main.cpp b/protocols/Twitter/main.cpp index a8a188891f..53e80b8bb5 100644 --- a/protocols/Twitter/main.cpp +++ b/protocols/Twitter/main.cpp @@ -33,6 +33,7 @@ int hLangpack; CLIST_INTERFACE* pcli;
HINSTANCE g_hInstance;
+int hLangpack = 0;
PLUGININFOEX pluginInfo={
sizeof(PLUGININFOEX),
@@ -51,6 +52,7 @@ PLUGININFOEX pluginInfo={ /////////////////////////////////////////////////////////////////////////////
// Protocol instances
+
static int compare_protos(const TwitterProto *p1, const TwitterProto *p2)
{
return _tcscmp(p1->m_tszUserName, p2->m_tszUserName);
diff --git a/protocols/Twitter/proto.cpp b/protocols/Twitter/proto.cpp index a65ddf978b..530017c491 100644 --- a/protocols/Twitter/proto.cpp +++ b/protocols/Twitter/proto.cpp @@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "utility.h"
#include "theme.h"
#include "ui.h"
+#include "oauth.dev.h"
#include "m_folders.h"
#include "m_historyevents.h"
@@ -35,8 +36,7 @@ TwitterProto::TwitterProto(const char *proto_name,const TCHAR *username) m_szModuleName = mir_strdup (proto_name);
m_tszUserName = mir_tstrdup(username);
- CreateProtoService(m_szModuleName,PS_CREATEACCMGRUI,
- &TwitterProto::SvcCreateAccMgrUI,this);
+ CreateProtoService(m_szModuleName,PS_CREATEACCMGRUI, &TwitterProto::SvcCreateAccMgrUI,this);
CreateProtoService(m_szModuleName,PS_GETNAME, &TwitterProto::GetName, this);
CreateProtoService(m_szModuleName,PS_GETSTATUS,&TwitterProto::GetStatus, this);
diff --git a/protocols/Twitter/proto.h b/protocols/Twitter/proto.h index e7353b5dfe..d4f60536f8 100644 --- a/protocols/Twitter/proto.h +++ b/protocols/Twitter/proto.h @@ -51,34 +51,34 @@ public: virtual HANDLE __cdecl AddToListByEvent(int,int,HANDLE);
virtual int __cdecl Authorize(HANDLE);
- virtual int __cdecl AuthDeny(HANDLE,const char *);
+ virtual int __cdecl AuthDeny(HANDLE,const TCHAR *);
virtual int __cdecl AuthRecv(HANDLE,PROTORECVEVENT *);
- virtual int __cdecl AuthRequest(HANDLE,const char *);
+ virtual int __cdecl AuthRequest(HANDLE,const TCHAR *);
virtual HANDLE __cdecl ChangeInfo(int,void *);
- virtual HANDLE __cdecl FileAllow(HANDLE,HANDLE,const char *);
+ virtual HANDLE __cdecl FileAllow(HANDLE,HANDLE,const TCHAR *);
virtual int __cdecl FileCancel(HANDLE,HANDLE);
- virtual int __cdecl FileDeny(HANDLE,HANDLE,const char *);
- virtual int __cdecl FileResume(HANDLE,int *,const char **);
+ virtual int __cdecl FileDeny(HANDLE,HANDLE,const TCHAR *);
+ virtual int __cdecl FileResume(HANDLE,int *,const TCHAR **);
virtual DWORD __cdecl GetCaps(int,HANDLE = 0);
virtual HICON __cdecl GetIcon(int);
virtual int __cdecl GetInfo(HANDLE,int);
- virtual HANDLE __cdecl SearchBasic(const char *);
- virtual HANDLE __cdecl SearchByEmail(const char *);
- virtual HANDLE __cdecl SearchByName(const char *,const char *,const char *);
+ virtual HANDLE __cdecl SearchBasic(const TCHAR *);
+ virtual HANDLE __cdecl SearchByEmail(const TCHAR *);
+ virtual HANDLE __cdecl SearchByName(const TCHAR *,const TCHAR *,const TCHAR *);
virtual HWND __cdecl SearchAdvanced(HWND);
virtual HWND __cdecl CreateExtendedSearchUI(HWND);
virtual int __cdecl RecvContacts(HANDLE,PROTORECVEVENT *);
- virtual int __cdecl RecvFile(HANDLE,PROTORECVFILE *);
+ virtual int __cdecl RecvFile(HANDLE,PROTORECVFILET *);
virtual int __cdecl RecvMsg(HANDLE,PROTORECVEVENT *);
virtual int __cdecl RecvUrl(HANDLE,PROTORECVEVENT *);
virtual int __cdecl SendContacts(HANDLE,int,int,HANDLE *);
- virtual HANDLE __cdecl SendFile(HANDLE,const char *,char **);
+ virtual HANDLE __cdecl SendFile(HANDLE,const TCHAR *,TCHAR **);
virtual int __cdecl SendMsg(HANDLE,int,const char *);
virtual int __cdecl SendUrl(HANDLE,int,const char *);
@@ -88,7 +88,7 @@ public: virtual HANDLE __cdecl GetAwayMsg(HANDLE);
virtual int __cdecl RecvAwayMsg(HANDLE,int,PROTORECVEVENT *);
virtual int __cdecl SendAwayMsg(HANDLE,HANDLE,const char *);
- virtual int __cdecl SetAwayMsg(int,const char *);
+ virtual int __cdecl SetAwayMsg(int,const TCHAR *);
virtual int __cdecl UserIsTyping(HANDLE,int);
diff --git a/protocols/Twitter/stubs.cpp b/protocols/Twitter/stubs.cpp index 79ee2e7c9d..1bf2dcbdd0 100644 --- a/protocols/Twitter/stubs.cpp +++ b/protocols/Twitter/stubs.cpp @@ -27,7 +27,7 @@ int TwitterProto::Authorize(HANDLE hContact) return 0;
}
-int TwitterProto::AuthDeny(HANDLE hContact,const char *reason)
+int TwitterProto::AuthDeny(HANDLE hContact,const TCHAR *reason)
{
return 0;
}
@@ -37,7 +37,7 @@ int TwitterProto::AuthRecv(HANDLE hContact,PROTORECVEVENT *) return 0;
}
-int TwitterProto::AuthRequest(HANDLE hContact,const char *message)
+int TwitterProto::AuthRequest(HANDLE hContact,const TCHAR *message)
{
return 0;
}
@@ -48,7 +48,7 @@ HANDLE TwitterProto::ChangeInfo(int type,void *info_data) return 0;
}
-HANDLE TwitterProto::FileAllow(HANDLE hContact,HANDLE hTransfer,const char *path)
+HANDLE TwitterProto::FileAllow(HANDLE hContact,HANDLE hTransfer,const TCHAR *path)
{
return 0;
}
@@ -58,18 +58,17 @@ int TwitterProto::FileCancel(HANDLE hContact,HANDLE hTransfer) return 0;
}
-int TwitterProto::FileDeny(HANDLE hContact,HANDLE hTransfer,const char *reason)
+int TwitterProto::FileDeny(HANDLE hContact,HANDLE hTransfer,const TCHAR *reason)
{
return 0;
}
-int TwitterProto::FileResume(HANDLE hTransfer,int *action,const char **filename)
+int TwitterProto::FileResume(HANDLE hTransfer,int *action,const TCHAR **filename)
{
return 0;
}
-HANDLE TwitterProto::SearchByName(const char *nick,const char *first_name,
- const char *last_name)
+HANDLE TwitterProto::SearchByName(const TCHAR *nick,const TCHAR *first_name, const TCHAR *last_name)
{
return 0;
}
@@ -89,7 +88,7 @@ int TwitterProto::RecvContacts(HANDLE hContact,PROTORECVEVENT *) return 0;
}
-int TwitterProto::RecvFile(HANDLE hContact,PROTORECVFILE *)
+int TwitterProto::RecvFile(HANDLE hContact,PROTORECVFILET *)
{
return 0;
}
@@ -104,7 +103,7 @@ int TwitterProto::SendContacts(HANDLE hContact,int flags,int nContacts,HANDLE *h return 0;
}
-HANDLE TwitterProto::SendFile(HANDLE hContact,const char *desc, char **files)
+HANDLE TwitterProto::SendFile(HANDLE hContact,const TCHAR *desc, TCHAR **files)
{
return 0;
}
@@ -129,7 +128,7 @@ int TwitterProto::SendAwayMsg(HANDLE hContact,HANDLE hProcess,const char *msg) return 0;
}
-int TwitterProto::SetAwayMsg(int status,const char *msg)
+int TwitterProto::SetAwayMsg(int status,const TCHAR *msg)
{
return 0;
}
diff --git a/protocols/Twitter/twitter.h b/protocols/Twitter/twitter.h index 56d8914117..d26c06bdbd 100644 --- a/protocols/Twitter/twitter.h +++ b/protocols/Twitter/twitter.h @@ -30,6 +30,12 @@ using std::vector; #include "StringConv.h"
#include "stdafx.h"
+#if defined( _UNICODE )
+ #define tstring wstring
+#else
+ #define tstring string
+#endif
+
typedef unsigned long long twitter_id;
typedef std::map<std::wstring, std::wstring> OAuthParameters;
diff --git a/protocols/Twitter/twitter.vcxproj b/protocols/Twitter/twitter.vcxproj index 7be07ed059..08afdaffb6 100644 --- a/protocols/Twitter/twitter.vcxproj +++ b/protocols/Twitter/twitter.vcxproj @@ -177,6 +177,7 @@ <ClCompile Include="chat.cpp" />
<ClCompile Include="connection.cpp" />
<ClCompile Include="contacts.cpp" />
+ <ClCompile Include="Debug.c" />
<ClCompile Include="http.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="oauth.cpp" />
diff --git a/protocols/Twitter/twitter.vcxproj.filters b/protocols/Twitter/twitter.vcxproj.filters index 020644005c..71adbd234a 100644 --- a/protocols/Twitter/twitter.vcxproj.filters +++ b/protocols/Twitter/twitter.vcxproj.filters @@ -60,6 +60,9 @@ <ClCompile Include="oauth.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="Debug.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="common.h">
|