summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-07-10 20:20:46 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-07-10 20:20:46 +0000
commitb7639142c91c6fa38285fdc6de661a0b36d41fbe (patch)
tree99136618352c2030d72008cb027040869d08770b
parentbfad803f0247a7395ed67eb04c190b3dfa511b0c (diff)
protocol DB helpers for Facebook
git-svn-id: http://svn.miranda-ng.org/main/trunk@5316 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--protocols/FacebookRM/src/avatars.cpp10
-rw-r--r--protocols/FacebookRM/src/communication.cpp34
-rw-r--r--protocols/FacebookRM/src/connection.cpp14
-rw-r--r--protocols/FacebookRM/src/contacts.cpp50
-rw-r--r--protocols/FacebookRM/src/db.h15
-rw-r--r--protocols/FacebookRM/src/dialogs.cpp81
-rw-r--r--protocols/FacebookRM/src/json.cpp8
-rw-r--r--protocols/FacebookRM/src/messages.cpp17
-rw-r--r--protocols/FacebookRM/src/process.cpp64
-rw-r--r--protocols/FacebookRM/src/proto.cpp22
-rw-r--r--protocols/FacebookRM/src/theme.cpp4
11 files changed, 146 insertions, 173 deletions
diff --git a/protocols/FacebookRM/src/avatars.cpp b/protocols/FacebookRM/src/avatars.cpp
index 77802300f0..8f5f1d00f3 100644
--- a/protocols/FacebookRM/src/avatars.cpp
+++ b/protocols/FacebookRM/src/avatars.cpp
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
bool FacebookProto::GetDbAvatarInfo(PROTO_AVATAR_INFORMATIONT &ai, std::string *url)
{
DBVARIANT dbv;
- if (!db_get_s(ai.hContact, m_szModuleName, FACEBOOK_KEY_AV_URL, &dbv)) {
+ if (!getString(ai.hContact, FACEBOOK_KEY_AV_URL, &dbv)) {
std::string new_url = dbv.pszVal;
db_free(&dbv);
@@ -35,7 +35,7 @@ bool FacebookProto::GetDbAvatarInfo(PROTO_AVATAR_INFORMATIONT &ai, std::string *
if (url)
*url = new_url;
- if (!db_get_ts(ai.hContact, m_szModuleName, FACEBOOK_KEY_ID, &dbv)) {
+ if (!getTString(ai.hContact, FACEBOOK_KEY_ID, &dbv)) {
std::string ext = new_url.substr(new_url.rfind('.'));
std::tstring filename = GetAvatarFolder() + L'\\' + dbv.ptszVal + (TCHAR*)_A2T(ext.c_str());
db_free(&dbv);
@@ -57,7 +57,7 @@ void FacebookProto::CheckAvatarChange(HANDLE hContact, std::string image_url)
if (image_url.empty())
return;
- bool big_avatars = db_get_b(NULL, m_szModuleName, FACEBOOK_KEY_BIG_AVATARS, DEFAULT_BIG_AVATARS) != 0;
+ bool big_avatars = getBool(FACEBOOK_KEY_BIG_AVATARS, DEFAULT_BIG_AVATARS);
// We've got url to avatar of default size 32x32px, let's change it to slightly bigger (50x50px) - looks like maximum size for square format
std::tstring::size_type pos = image_url.rfind("/s32x32/");
@@ -73,14 +73,14 @@ void FacebookProto::CheckAvatarChange(HANDLE hContact, std::string image_url)
DBVARIANT dbv;
bool update_required = true;
- if (!db_get_s(hContact, m_szModuleName, FACEBOOK_KEY_AV_URL, &dbv))
+ if (!getString(hContact, FACEBOOK_KEY_AV_URL, &dbv))
{
update_required = image_url != dbv.pszVal;
db_free(&dbv);
}
if (update_required || !hContact)
{
- db_set_s(hContact, m_szModuleName, FACEBOOK_KEY_AV_URL, image_url.c_str());
+ setString(hContact, FACEBOOK_KEY_AV_URL, image_url.c_str());
if (hContact)
{
db_set_b(hContact, "ContactPhoto", "NeedUpdate", 1);
diff --git a/protocols/FacebookRM/src/communication.cpp b/protocols/FacebookRM/src/communication.cpp
index 2a79fa8e87..c1b012672f 100644
--- a/protocols/FacebookRM/src/communication.cpp
+++ b/protocols/FacebookRM/src/communication.cpp
@@ -112,7 +112,7 @@ http::response facebook_client::flap(RequestType request_type, std::string* requ
// is compaired in all communication requests
}
- if (db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_VALIDATE_RESPONSE, 0) == 1)
+ if (parent->getByte(FACEBOOK_KEY_VALIDATE_RESPONSE, 0) == 1)
validate_response(&resp);
return resp;
@@ -126,7 +126,7 @@ bool facebook_client::validate_response(http::response* resp)
return false;
}
- if (db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_VALIDATE_RESPONSE, 0) == 2) {
+ if (parent->getByte(FACEBOOK_KEY_VALIDATE_RESPONSE, 0) == 2) {
return true;
}
@@ -193,7 +193,7 @@ bool facebook_client::handle_error(std::string method, int action)
increment_error();
parent->Log("!!!!! %s(): Something with Facebook went wrong", method.c_str());
- bool result = (error_count_ <= (UINT)db_get_b(NULL,parent->m_szModuleName,FACEBOOK_KEY_TIMEOUTS_LIMIT,FACEBOOK_TIMEOUTS_LIMIT));
+ bool result = (error_count_ <= (UINT)parent->getByte(FACEBOOK_KEY_TIMEOUTS_LIMIT, FACEBOOK_TIMEOUTS_LIMIT));
if (action == FORCE_DISCONNECT || action == FORCE_QUIT)
result = false;
@@ -212,14 +212,10 @@ bool facebook_client::handle_error(std::string method, int action)
DWORD facebook_client::choose_security_level(RequestType request_type)
{
if (this->https_)
- {
- if (request_type != REQUEST_MESSAGES_RECEIVE
- || db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_FORCE_HTTPS_CHANNEL, DEFAULT_FORCE_HTTPS_CHANNEL))
+ if (request_type != REQUEST_MESSAGES_RECEIVE || parent->getByte(FACEBOOK_KEY_FORCE_HTTPS_CHANNEL, DEFAULT_FORCE_HTTPS_CHANNEL))
return NLHRF_SSL;
- }
- switch (request_type)
- {
+ switch (request_type) {
case REQUEST_LOGIN:
case REQUEST_SETUP_MACHINE:
return NLHRF_SSL;
@@ -558,7 +554,7 @@ NETLIBHTTPHEADER* facebook_client::get_request_headers(int request_type, int* he
std::string facebook_client::get_newsfeed_type()
{
- BYTE feed_type = db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_FEED_TYPE, 0);
+ BYTE feed_type = parent->getByte(FACEBOOK_KEY_FEED_TYPE, 0);
if (feed_type < 0 || feed_type >= SIZEOF(feed_types))
feed_type = 0;
return feed_types[feed_type].id;
@@ -566,7 +562,7 @@ std::string facebook_client::get_newsfeed_type()
std::string facebook_client::get_server_type()
{
- BYTE server_type = db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_SERVER_TYPE, 0);
+ BYTE server_type = parent->getByte(FACEBOOK_KEY_SERVER_TYPE, 0);
if (server_type < 0 || server_type >= SIZEOF(server_types))
server_type = 0;
return server_types[server_type].id;
@@ -574,7 +570,7 @@ std::string facebook_client::get_server_type()
std::string facebook_client::get_privacy_type()
{
- BYTE privacy_type = db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_PRIVACY_TYPE, 0);
+ BYTE privacy_type = parent->getByte(FACEBOOK_KEY_PRIVACY_TYPE, 0);
if (privacy_type < 0 || privacy_type >= SIZEOF(privacy_types))
privacy_type = 0;
return privacy_types[privacy_type].id;
@@ -666,7 +662,7 @@ bool facebook_client::login(const std::string &username,const std::string &passw
data += "&email=" + utils::url::encode(username);
data += "&pass=" + utils::url::encode(password);
- ptrA locale(db_get_sa(NULL, parent->m_szModuleName, FACEBOOK_KEY_LOCALE));
+ ptrA locale(parent->getStringA(FACEBOOK_KEY_LOCALE));
if (locale != NULL)
data += "&locale=" + std::string(locale);
@@ -678,7 +674,7 @@ bool facebook_client::login(const std::string &username,const std::string &passw
// Save Device ID
if (cookies["datr"].length())
- db_set_s(NULL, parent->m_szModuleName, FACEBOOK_KEY_DEVICE_ID, cookies["datr"].c_str());
+ parent->setString(FACEBOOK_KEY_DEVICE_ID, cookies["datr"].c_str());
if (resp.code == HTTP_CODE_FOUND && resp.headers.find("Location") != resp.headers.end())
{
@@ -692,7 +688,7 @@ bool facebook_client::login(const std::string &username,const std::string &passw
// Check whether HTTPS connection is required and we don't have it enabled
if (!this->https_ && resp.headers["Location"].find("https://") != std::string::npos) {
client_notify(TranslateT("Your account requires HTTPS connection. Activating."));
- db_set_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_FORCE_HTTPS, 1);
+ parent->setByte(FACEBOOK_KEY_FORCE_HTTPS, 1);
this->https_ = true;
return login(username, password);
}
@@ -784,7 +780,7 @@ bool facebook_client::login(const std::string &username,const std::string &passw
case HTTP_CODE_FOUND: // Found and redirected to Home, Logged in, everything is OK
if (cookies.find("c_user") != cookies.end()) {
this->self_.user_id = cookies.find("c_user")->second;
- db_set_s(NULL,parent->m_szModuleName,FACEBOOK_KEY_ID,this->self_.user_id.c_str());
+ parent->setString(FACEBOOK_KEY_ID, this->self_.user_id.c_str());
parent->Log(" Got self user id: %s", this->self_.user_id.c_str());
return handle_success("login");
} else {
@@ -797,7 +793,7 @@ bool facebook_client::login(const std::string &username,const std::string &passw
bool facebook_client::logout()
{
- if (db_get_b(NULL, parent->m_szModuleName, FACEBOOK_KEY_DISABLE_LOGOUT, 0))
+ if (parent->getByte(FACEBOOK_KEY_DISABLE_LOGOUT, 0))
return true;
handle_entry("logout");
@@ -1184,7 +1180,7 @@ bool facebook_client::send_message(std::string message_recipient, std::string me
{
HANDLE hContact = parent->ContactIDToHContact(message_recipient);
if (hContact != NULL)
- db_set_w(hContact,parent->m_szModuleName,"Status",ID_STATUS_OFFLINE);
+ parent->setWord(hContact, "Status", ID_STATUS_OFFLINE);
return false;
} break;
@@ -1222,7 +1218,7 @@ bool facebook_client::set_status(const std::string &status_text)
return handle_success("set_status");
std::string text = utils::url::encode(status_text);
- ptrA place = db_get_sa(NULL, parent->m_szModuleName, FACEBOOK_KEY_PLACE);
+ ptrA place(parent->getStringA(FACEBOOK_KEY_PLACE));
std::string data = "fb_dtsg=" + (this->dtsg_.length() ? this->dtsg_ : "0");
data += "&xhpc_context=home&xhpc_ismeta=1&xhpc_timeline=&xhpc_composerid=u_jsonp_2_0&is_explicit_place=&composertags_place=&composer_session_id=0&composertags_city=&disable_location_sharing=false&composer_predicted_city=&nctr[_mod]=pagelet_composer&__a=1&__dyn=&__req=1f&phstamp=0";
diff --git a/protocols/FacebookRM/src/connection.cpp b/protocols/FacebookRM/src/connection.cpp
index c1692a6cca..84e40254de 100644
--- a/protocols/FacebookRM/src/connection.cpp
+++ b/protocols/FacebookRM/src/connection.cpp
@@ -43,7 +43,7 @@ void FacebookProto::ChangeStatus(void*)
facy.logout();
- deleteSetting("LogonTS");
+ delSetting("LogonTS");
facy.clear_cookies();
facy.buddies.clear();
@@ -145,7 +145,7 @@ bool FacebookProto::NegotiateConnection()
DBVARIANT dbv = {0};
error = true;
- if (!db_get_s(NULL,m_szModuleName,FACEBOOK_KEY_LOGIN,&dbv))
+ if (!getString(FACEBOOK_KEY_LOGIN, &dbv))
{
user = dbv.pszVal;
db_free(&dbv);
@@ -158,7 +158,7 @@ bool FacebookProto::NegotiateConnection()
}
error = true;
- if (!db_get_s(NULL,m_szModuleName,FACEBOOK_KEY_PASS,&dbv))
+ if (!getString(FACEBOOK_KEY_PASS, &dbv))
{
CallService(MS_DB_CRYPT_DECODESTRING,strlen(dbv.pszVal)+1,
reinterpret_cast<LPARAM>(dbv.pszVal));
@@ -173,7 +173,7 @@ bool FacebookProto::NegotiateConnection()
}
// Load machine name
- if (!db_get_s(NULL,m_szModuleName,FACEBOOK_KEY_DEVICE_ID,&dbv))
+ if (!getString(FACEBOOK_KEY_DEVICE_ID, &dbv))
{
facy.cookies["datr"] = dbv.pszVal;
db_free(&dbv);
@@ -183,13 +183,11 @@ bool FacebookProto::NegotiateConnection()
facy.last_feeds_update_ = ::time(NULL);
// Get info about secured connection
- facy.https_ = db_get_b(NULL, m_szModuleName, FACEBOOK_KEY_FORCE_HTTPS, DEFAULT_FORCE_HTTPS) != 0;
+ facy.https_ = getByte(FACEBOOK_KEY_FORCE_HTTPS, DEFAULT_FORCE_HTTPS) != 0;
// Create default group for new contacts
- if (!db_get_ts(NULL, m_szModuleName, FACEBOOK_KEY_DEF_GROUP, &dbv) && lstrlen(dbv.ptszVal) > 0)
- {
+ if (!getTString(FACEBOOK_KEY_DEF_GROUP, &dbv) && lstrlen(dbv.ptszVal) > 0)
CallService(MS_CLIST_GROUPCREATE, 0, (LPARAM)dbv.ptszVal);
- }
return facy.login(user, pass);
}
diff --git a/protocols/FacebookRM/src/contacts.cpp b/protocols/FacebookRM/src/contacts.cpp
index 58c9237aa4..07086cb981 100644
--- a/protocols/FacebookRM/src/contacts.cpp
+++ b/protocols/FacebookRM/src/contacts.cpp
@@ -29,7 +29,7 @@ bool FacebookProto::IsMyContact(HANDLE hContact, bool include_chat)
if (include_chat)
return true;
else
- return !db_get_b(hContact, m_szModuleName, "ChatRoom", 0);
+ return !getByte(hContact, "ChatRoom", 0);
}
return false;
}
@@ -40,7 +40,7 @@ HANDLE FacebookProto::ChatIDToHContact(std::string chat_id)
if (!IsMyContact(hContact, true))
continue;
- ptrA id = db_get_sa(hContact, m_szModuleName, "ChatRoomID");
+ ptrA id( getStringA(hContact, "ChatRoomID"));
if (id && !strcmp(id, chat_id.c_str()))
return hContact;
}
@@ -54,7 +54,7 @@ HANDLE FacebookProto::ContactIDToHContact(std::string user_id)
if (!IsMyContact(hContact))
continue;
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
if (id && !strcmp(id, user_id.c_str()))
return hContact;
}
@@ -79,11 +79,11 @@ HANDLE FacebookProto::AddToContactList(facebook_user* fbu, ContactType type, boo
{
if(CallService(MS_PROTO_ADDTOCONTACT,(WPARAM)hContact,(LPARAM)m_szModuleName) == 0)
{
- db_set_s(hContact,m_szModuleName,FACEBOOK_KEY_ID,fbu->user_id.c_str());
+ setString(hContact, FACEBOOK_KEY_ID, fbu->user_id.c_str());
std::string homepage = FACEBOOK_URL_PROFILE + fbu->user_id;
- db_set_s(hContact, m_szModuleName,"Homepage", homepage.c_str());
- db_set_s(hContact, m_szModuleName, "MirVer", fbu->status_id == ID_STATUS_ONTHEPHONE ? FACEBOOK_MOBILE : FACEBOOK_NAME);
+ setString(hContact, "Homepage", homepage.c_str());
+ setString(hContact, "MirVer", fbu->status_id == ID_STATUS_ONTHEPHONE ? FACEBOOK_MOBILE : FACEBOOK_NAME);
db_unset(hContact, "CList", "MyHandle");
@@ -97,12 +97,12 @@ HANDLE FacebookProto::AddToContactList(facebook_user* fbu, ContactType type, boo
}
if (fbu->gender)
- db_set_b(hContact, m_szModuleName, "Gender", fbu->gender);
+ setByte(hContact, "Gender", fbu->gender);
if (!fbu->image_url.empty())
- db_set_s(hContact, m_szModuleName, FACEBOOK_KEY_AV_URL, fbu->image_url.c_str());
+ setString(hContact, FACEBOOK_KEY_AV_URL, fbu->image_url.c_str());
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, type);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, type);
if (getByte(FACEBOOK_KEY_DISABLE_STATUS_NOTIFY, 0))
CallService(MS_IGNORE_IGNORE, (WPARAM)hContact, (LPARAM)IGNOREEVENT_USERONLINE);
@@ -119,18 +119,18 @@ HANDLE FacebookProto::AddToContactList(facebook_user* fbu, ContactType type, boo
void FacebookProto::SetAllContactStatuses(int status, bool reset_client)
{
for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) {
- if (db_get_b(hContact,m_szModuleName,"ChatRoom",0))
+ if (getByte(hContact, "ChatRoom", 0))
continue;
if (reset_client) {
ptrT mirver = db_get_tsa(hContact, m_szModuleName, "MirVer");
if (!mirver || _tcscmp(mirver, _T(FACEBOOK_NAME)))
- db_set_ts(hContact, m_szModuleName, "MirVer", _T(FACEBOOK_NAME));
+ setTString(hContact, "MirVer", _T(FACEBOOK_NAME));
/*std::tstring foldername = GetAvatarFolder() + L"\\smileys\\";
TCHAR *path = _tcsdup(foldername.c_str());
- if (db_get_b(NULL,m_szModuleName,FACEBOOK_KEY_CUSTOM_SMILEYS, DEFAULT_CUSTOM_SMILEYS)) {
+ if (getByte(FACEBOOK_KEY_CUSTOM_SMILEYS, DEFAULT_CUSTOM_SMILEYS)) {
SMADD_CONT cont;
cont.cbSize = sizeof(SMADD_CONT);
cont.hContact = hContact;
@@ -141,8 +141,8 @@ void FacebookProto::SetAllContactStatuses(int status, bool reset_client)
}*/
}
- if (db_get_w(hContact,m_szModuleName,"Status",ID_STATUS_OFFLINE) != status)
- db_set_w(hContact,m_szModuleName,"Status",status);
+ if (getWord(hContact, "Status", ID_STATUS_OFFLINE) != status)
+ setWord(hContact, "Status", status);
}
}
@@ -179,9 +179,9 @@ void FacebookProto::DeleteContactFromServer(void *data)
// If contact wasn't deleted from database
if (hContact != NULL) {
- db_set_w(hContact, m_szModuleName, "Status", ID_STATUS_OFFLINE);
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
- db_set_dw(hContact, m_szModuleName, FACEBOOK_KEY_DELETED, ::time(NULL));
+ setWord(hContact, "Status", ID_STATUS_OFFLINE);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
+ setDword(hContact, FACEBOOK_KEY_DELETED, ::time(NULL));
}
NotifyEvent(m_tszUserName, TranslateT("Contact was removed from your server list."), NULL, FACEBOOK_EVENT_OTHER);
@@ -219,12 +219,11 @@ void FacebookProto::AddContactToServer(void *data)
// If contact wasn't deleted from database
if (hContact != NULL)
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_REQUEST);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_REQUEST);
NotifyEvent(m_tszUserName, TranslateT("Request for friendship was sent."), NULL, FACEBOOK_EVENT_OTHER);
- } else {
- facy.client_notify(TranslateT("Error occured when requesting friendship."));
}
+ else facy.client_notify(TranslateT("Error occured when requesting friendship."));
if (resp.code != HTTP_CODE_OK)
facy.handle_error("AddContactToServer");
@@ -246,7 +245,7 @@ void FacebookProto::ApproveContactToServer(void *data)
std::string get_data = "id=";
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
get_data += id;
http::response resp = facy.flap(REQUEST_APPROVE_FRIEND, &post_data, &get_data);
@@ -254,7 +253,7 @@ void FacebookProto::ApproveContactToServer(void *data)
// Process result data
facy.validate_response(&resp);
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
}
void FacebookProto::CancelFriendsRequest(void *data)
@@ -271,7 +270,7 @@ void FacebookProto::CancelFriendsRequest(void *data)
query += "&fb_dtsg=" + facy.dtsg_;
query += "&__user=" + facy.self_.user_id;
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
query += "&friend=" + std::string(id);
// Get unread inbox threads
@@ -282,11 +281,10 @@ void FacebookProto::CancelFriendsRequest(void *data)
if (resp.data.find("\"payload\":null", 0) != std::string::npos)
{
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
NotifyEvent(m_tszUserName, TranslateT("Request for friendship was canceled."), NULL, FACEBOOK_EVENT_OTHER);
- } else {
- facy.client_notify(TranslateT("Error occured when canceling friendship request."));
}
+ else facy.client_notify(TranslateT("Error occured when canceling friendship request."));
if (resp.code != HTTP_CODE_OK)
facy.handle_error("CancelFriendsRequest");
diff --git a/protocols/FacebookRM/src/db.h b/protocols/FacebookRM/src/db.h
index a5f46e33f8..59c575da46 100644
--- a/protocols/FacebookRM/src/db.h
+++ b/protocols/FacebookRM/src/db.h
@@ -22,21 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// DB macros
-#define getByte(setting, error) db_get_b(NULL, m_szModuleName, setting, error)
-#define setByte(setting, value) db_set_b(NULL, m_szModuleName, setting, value)
-#define getWord(setting, error) db_get_w(NULL, m_szModuleName, setting, error)
-#define setWord(setting, value) db_set_w(NULL, m_szModuleName, setting, value)
-#define getDword(setting, error) db_get_dw(NULL, m_szModuleName, setting, error)
-#define setDword(setting, value) db_set_dw(NULL, m_szModuleName, setting, value)
-#define getString(setting, dest) db_get_s(NULL, m_szModuleName, setting, dest)
-#define setString(setting, value) db_set_s(NULL, m_szModuleName, setting, value)
-#define getTString(setting, dest) db_get_ts(NULL, m_szModuleName, setting, dest)
-#define setTString(setting, value) db_set_ts(NULL, m_szModuleName, setting, value)
-#define getU8String(setting, dest) db_get_utf(NULL, m_szModuleName, setting, dest)
-#define setU8String(setting, value) db_set_utf(NULL, m_szModuleName, setting, value)
-#define deleteSetting(setting) db_unset(NULL, m_szModuleName, setting)
-
// DB keys
#define FACEBOOK_KEY_LOGIN "Email"
#define FACEBOOK_KEY_ID "ID"
diff --git a/protocols/FacebookRM/src/dialogs.cpp b/protocols/FacebookRM/src/dialogs.cpp
index 166c0c3f12..d4bf908282 100644
--- a/protocols/FacebookRM/src/dialogs.cpp
+++ b/protocols/FacebookRM/src/dialogs.cpp
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
static BOOL LoadDBCheckState(FacebookProto* ppro, HWND hwnd, int idCtrl, const char* szSetting, BYTE bDef)
{
- BOOL state = db_get_b(NULL, ppro->m_szModuleName, szSetting, bDef);
+ BOOL state = ppro->getByte(szSetting, bDef);
CheckDlgButton(hwnd, idCtrl, state);
return state;
}
@@ -32,7 +32,7 @@ static BOOL LoadDBCheckState(FacebookProto* ppro, HWND hwnd, int idCtrl, const c
static BOOL StoreDBCheckState(FacebookProto* ppro, HWND hwnd, int idCtrl, const char* szSetting)
{
BOOL state = IsDlgButtonChecked(hwnd, idCtrl);
- db_set_b(NULL, ppro->m_szModuleName, szSetting, (BYTE)state);
+ ppro->setByte(szSetting, (BYTE)state);
return state;
}
@@ -131,9 +131,9 @@ INT_PTR CALLBACK FBMindProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpara
for(size_t i=0; i<SIZEOF(privacy_types); i++)
SendDlgItemMessageA(hwnd, IDC_PRIVACY, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(privacy_types[i].name)));
- SendDlgItemMessage(hwnd, IDC_PRIVACY, CB_SETCURSEL, db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_PRIVACY_TYPE, 0), 0);
+ SendDlgItemMessage(hwnd, IDC_PRIVACY, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_PRIVACY_TYPE, 0), 0);
- ptrA name = db_get_sa(NULL, proto->m_szModuleName, FACEBOOK_KEY_NAME);
+ ptrA name( proto->getStringA(FACEBOOK_KEY_NAME));
if (name != NULL) {
std::string firstname = name;
std::string::size_type pos = firstname.find(" ");
@@ -171,10 +171,10 @@ INT_PTR CALLBACK FBMindProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpara
GetDlgItemText(hwnd,IDC_PLACE, placeT, SIZEOF(placeT));
ShowWindow(hwnd,SW_HIDE);
- ptrA place = mir_utf8encodeT(placeT);
- db_set_s(NULL, proto->m_szModuleName, FACEBOOK_KEY_PLACE, place);
+ ptrA place( mir_utf8encodeT(placeT));
+ proto->setString(FACEBOOK_KEY_PLACE, place);
- db_set_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_PRIVACY_TYPE, SendDlgItemMessage(hwnd, IDC_PRIVACY, CB_GETCURSEL, 0, 0));
+ proto->setByte(FACEBOOK_KEY_PRIVACY_TYPE, SendDlgItemMessage(hwnd, IDC_PRIVACY, CB_GETCURSEL, 0, 0));
char *narrow = mir_utf8encodeT(mindMessageT);
if (proto->last_status_msg_ != narrow)
@@ -277,16 +277,15 @@ INT_PTR CALLBACK FBOptionsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
GetDlgItemTextA(hwnd,IDC_PW,str,sizeof(str));
CallService(MS_DB_CRYPT_ENCODESTRING,sizeof(str),reinterpret_cast<LPARAM>(str));
- db_set_s(NULL,proto->m_szModuleName,FACEBOOK_KEY_PASS,str);
+ proto->setString(FACEBOOK_KEY_PASS, str);
GetDlgItemText(hwnd,IDC_GROUP,tstr,sizeof(tstr));
if (lstrlen(tstr) > 0)
{
- db_set_ts(NULL,proto->m_szModuleName,FACEBOOK_KEY_DEF_GROUP,tstr);
+ proto->setTString(FACEBOOK_KEY_DEF_GROUP, tstr);
CallService(MS_CLIST_GROUPCREATE, 0, (LPARAM)tstr);
}
- else
- db_unset(NULL,proto->m_szModuleName,FACEBOOK_KEY_DEF_GROUP);
+ else proto->delSetting(FACEBOOK_KEY_DEF_GROUP);
StoreDBCheckState(proto, hwnd, IDC_SET_IGNORE_STATUS, FACEBOOK_KEY_DISABLE_STATUS_NOTIFY);
StoreDBCheckState(proto, hwnd, IDC_BIGGER_AVATARS, FACEBOOK_KEY_BIG_AVATARS);
@@ -317,7 +316,7 @@ INT_PTR CALLBACK FBOptionsAdvancedProc(HWND hwnd, UINT message, WPARAM wparam, L
for(size_t i=0; i<SIZEOF(server_types); i++)
SendDlgItemMessageA(hwnd, IDC_URL_SERVER, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(server_types[i].name)));
- SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_SETCURSEL, db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_SERVER_TYPE, 0), 0);
+ SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_SERVER_TYPE, 0), 0);
LoadDBCheckState(proto, hwnd, IDC_SECURE, FACEBOOK_KEY_FORCE_HTTPS, DEFAULT_FORCE_HTTPS);
LoadDBCheckState(proto, hwnd, IDC_SECURE_CHANNEL, FACEBOOK_KEY_FORCE_HTTPS_CHANNEL, DEFAULT_FORCE_HTTPS_CHANNEL);
@@ -351,7 +350,7 @@ INT_PTR CALLBACK FBOptionsAdvancedProc(HWND hwnd, UINT message, WPARAM wparam, L
case WM_NOTIFY:
if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)
{
- db_set_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_SERVER_TYPE, SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_GETCURSEL, 0, 0));
+ proto->setByte(FACEBOOK_KEY_SERVER_TYPE, SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_GETCURSEL, 0, 0));
StoreDBCheckState(proto, hwnd, IDC_SECURE, FACEBOOK_KEY_FORCE_HTTPS);
StoreDBCheckState(proto, hwnd, IDC_LOGGING, FACEBOOK_KEY_LOGGING_ENABLE);
@@ -363,10 +362,10 @@ INT_PTR CALLBACK FBOptionsAdvancedProc(HWND hwnd, UINT message, WPARAM wparam, L
StoreDBCheckState(proto, hwnd, IDC_SEND_SEEN, FACEBOOK_KEY_MARK_READ);
BOOL setStatus = IsDlgButtonChecked(hwnd, IDC_SET_STATUS);
- BOOL setStatusOld = db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_SET_MIRANDA_STATUS, DEFAULT_SET_MIRANDA_STATUS);
+ BOOL setStatusOld = proto->getByte(FACEBOOK_KEY_SET_MIRANDA_STATUS, DEFAULT_SET_MIRANDA_STATUS);
if (setStatus != setStatusOld)
{
- db_set_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_SET_MIRANDA_STATUS, setStatus);
+ proto->setByte(FACEBOOK_KEY_SET_MIRANDA_STATUS, setStatus);
if (setStatus && proto->isOnline())
proto->ForkThread(&FacebookProto::SetAwayMsgWorker, NULL);
}
@@ -400,7 +399,7 @@ INT_PTR CALLBACK FBEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpa
SendDlgItemMessageA(hwnd,IDC_FEED_TYPE,CB_INSERTSTRING,i,
reinterpret_cast<LPARAM>(Translate(feed_types[i].name)));
}
- SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_SETCURSEL, db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_FEED_TYPE, 0), 0);
+ SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_FEED_TYPE, 0), 0);
LoadDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY, DEFAULT_SYSTRAY_NOTIFY);
LoadDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_ENABLE, FACEBOOK_KEY_EVENT_NOTIFICATIONS_ENABLE, DEFAULT_EVENT_NOTIFICATIONS_ENABLE);
@@ -408,18 +407,18 @@ INT_PTR CALLBACK FBEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpa
LoadDBCheckState(proto, hwnd, IDC_CLIENT_ENABLE, FACEBOOK_KEY_EVENT_CLIENT_ENABLE, DEFAULT_EVENT_CLIENT_ENABLE);
LoadDBCheckState(proto, hwnd, IDC_OTHER_ENABLE, FACEBOOK_KEY_EVENT_OTHER_ENABLE, DEFAULT_EVENT_OTHER_ENABLE);
- SendDlgItemMessage(hwnd, IDC_COLBACK, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLBACK,DEFAULT_EVENT_COLBACK));
- SendDlgItemMessage(hwnd, IDC_COLTEXT, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLTEXT,DEFAULT_EVENT_COLTEXT));
- SetDlgItemInt(hwnd, IDC_TIMEOUT,db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_TIMEOUT, 0),TRUE);
- SendDlgItemMessage(hwnd, IDC_COLBACK2, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_COLBACK,DEFAULT_EVENT_COLBACK));
- SendDlgItemMessage(hwnd, IDC_COLTEXT2, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_COLTEXT,DEFAULT_EVENT_COLTEXT));
- SetDlgItemInt(hwnd, IDC_TIMEOUT2,db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_TIMEOUT, 0),TRUE);
- SendDlgItemMessage(hwnd, IDC_COLBACK3, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_COLBACK,DEFAULT_EVENT_COLBACK));
- SendDlgItemMessage(hwnd, IDC_COLTEXT3, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_COLTEXT,DEFAULT_EVENT_COLTEXT));
- SetDlgItemInt(hwnd, IDC_TIMEOUT3,db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_TIMEOUT, 0),TRUE);
- SendDlgItemMessage(hwnd, IDC_COLBACK4, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_COLBACK,DEFAULT_EVENT_COLBACK));
- SendDlgItemMessage(hwnd, IDC_COLTEXT4, CPM_SETCOLOUR, 0, db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_COLTEXT,DEFAULT_EVENT_COLTEXT));
- SetDlgItemInt(hwnd, IDC_TIMEOUT4,db_get_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_TIMEOUT, 0),TRUE);
+ SendDlgItemMessage(hwnd, IDC_COLBACK, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLBACK,DEFAULT_EVENT_COLBACK));
+ SendDlgItemMessage(hwnd, IDC_COLTEXT, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLTEXT,DEFAULT_EVENT_COLTEXT));
+ SetDlgItemInt(hwnd, IDC_TIMEOUT, proto->getDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_TIMEOUT, 0),TRUE);
+ SendDlgItemMessage(hwnd, IDC_COLBACK2, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_FEEDS_COLBACK,DEFAULT_EVENT_COLBACK));
+ SendDlgItemMessage(hwnd, IDC_COLTEXT2, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_FEEDS_COLTEXT,DEFAULT_EVENT_COLTEXT));
+ SetDlgItemInt(hwnd, IDC_TIMEOUT2, proto->getDword(FACEBOOK_KEY_EVENT_FEEDS_TIMEOUT, 0),TRUE);
+ SendDlgItemMessage(hwnd, IDC_COLBACK3, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_OTHER_COLBACK,DEFAULT_EVENT_COLBACK));
+ SendDlgItemMessage(hwnd, IDC_COLTEXT3, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_OTHER_COLTEXT,DEFAULT_EVENT_COLTEXT));
+ SetDlgItemInt(hwnd, IDC_TIMEOUT3, proto->getDword(FACEBOOK_KEY_EVENT_OTHER_TIMEOUT, 0),TRUE);
+ SendDlgItemMessage(hwnd, IDC_COLBACK4, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_CLIENT_COLBACK,DEFAULT_EVENT_COLBACK));
+ SendDlgItemMessage(hwnd, IDC_COLTEXT4, CPM_SETCOLOUR, 0, proto->getDword(FACEBOOK_KEY_EVENT_CLIENT_COLTEXT,DEFAULT_EVENT_COLTEXT));
+ SetDlgItemInt(hwnd, IDC_TIMEOUT4, proto->getDword(FACEBOOK_KEY_EVENT_CLIENT_TIMEOUT, 0),TRUE);
LoadDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_DEFAULT, FACEBOOK_KEY_EVENT_NOTIFICATIONS_DEFAULT, 0);
LoadDBCheckState(proto, hwnd, IDC_FEEDS_DEFAULT, FACEBOOK_KEY_EVENT_FEEDS_DEFAULT, 0);
@@ -473,7 +472,7 @@ INT_PTR CALLBACK FBEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpa
{
if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)
{
- db_set_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_FEED_TYPE, SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_GETCURSEL, 0, 0));
+ proto->setByte(FACEBOOK_KEY_FEED_TYPE, SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_GETCURSEL, 0, 0));
StoreDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY);
@@ -487,21 +486,21 @@ INT_PTR CALLBACK FBEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lpa
StoreDBCheckState(proto, hwnd, IDC_OTHER_DEFAULT, FACEBOOK_KEY_EVENT_OTHER_DEFAULT);
StoreDBCheckState(proto, hwnd, IDC_CLIENT_DEFAULT, FACEBOOK_KEY_EVENT_CLIENT_DEFAULT);
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT,NULL,TRUE));
+ proto->setDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_NOTIFICATIONS_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT,NULL,TRUE));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK2,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT2,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_FEEDS_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT2,NULL,TRUE));
+ proto->setDword(FACEBOOK_KEY_EVENT_FEEDS_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK2,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_FEEDS_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT2,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_FEEDS_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT2,NULL,TRUE));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK3,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT3,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_OTHER_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT3,NULL,TRUE));
+ proto->setDword(FACEBOOK_KEY_EVENT_OTHER_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK3,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_OTHER_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT3,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_OTHER_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT3,NULL,TRUE));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK4,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT4,CPM_GETCOLOUR,0,0));
- db_set_dw(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_CLIENT_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT4,NULL,TRUE));
+ proto->setDword(FACEBOOK_KEY_EVENT_CLIENT_COLBACK, SendDlgItemMessage(hwnd,IDC_COLBACK4,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_CLIENT_COLTEXT, SendDlgItemMessage(hwnd,IDC_COLTEXT4,CPM_GETCOLOUR,0,0));
+ proto->setDword(FACEBOOK_KEY_EVENT_CLIENT_TIMEOUT, GetDlgItemInt(hwnd,IDC_TIMEOUT4,NULL,TRUE));
}
}
return TRUE;
diff --git a/protocols/FacebookRM/src/json.cpp b/protocols/FacebookRM/src/json.cpp
index 426e867475..32909c95b4 100644
--- a/protocols/FacebookRM/src/json.cpp
+++ b/protocols/FacebookRM/src/json.cpp
@@ -344,7 +344,7 @@ int facebook_json_parser::parse_messages(void* data, std::vector< facebook_messa
dbei.flags = DBEF_SENT | DBEF_UTF;
dbei.szModule = proto->m_szModuleName;
- bool local_time = db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_LOCAL_TIMESTAMP, 0) != 0;
+ bool local_time = proto->getByte(FACEBOOK_KEY_LOCAL_TIMESTAMP, 0) != 0;
dbei.timestamp = local_time ? ::time(NULL) : utils::time::fix_timestamp(time_sent.Value());
dbei.cbBlob = (DWORD)message_text.length() + 1;
@@ -469,7 +469,7 @@ int facebook_json_parser::parse_messages(void* data, std::vector< facebook_messa
}
else if (type.Value() == "notification_json") // event notification
{
- if (!db_get_b(NULL, proto->m_szModuleName, FACEBOOK_KEY_EVENT_NOTIFICATIONS_ENABLE, DEFAULT_EVENT_NOTIFICATIONS_ENABLE))
+ if (!proto->getByte(FACEBOOK_KEY_EVENT_NOTIFICATIONS_ENABLE, DEFAULT_EVENT_NOTIFICATIONS_ENABLE))
continue;
const Array& notificationsArray = objMember["nodes"];
@@ -510,8 +510,8 @@ int facebook_json_parser::parse_messages(void* data, std::vector< facebook_messa
HANDLE hContact = proto->AddToContactList(&fbu, CONTACT_FRIEND);
- if (db_get_w(hContact, proto->m_szModuleName, "Status", 0) == ID_STATUS_OFFLINE)
- db_set_w(hContact, proto->m_szModuleName, "Status", ID_STATUS_ONLINE);
+ if (proto->getWord(hContact, "Status", 0) == ID_STATUS_OFFLINE)
+ proto->setWord(hContact, "Status", ID_STATUS_ONLINE);
const Number& state = objMember["st"];
if (state.Value() == 1)
diff --git a/protocols/FacebookRM/src/messages.cpp b/protocols/FacebookRM/src/messages.cpp
index d801fefe35..3fe97730f5 100644
--- a/protocols/FacebookRM/src/messages.cpp
+++ b/protocols/FacebookRM/src/messages.cpp
@@ -45,7 +45,7 @@ void FacebookProto::SendMsgWorker(void *p)
{
ProtoBroadcastAck(data->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, data->msgid, (LPARAM)Translate("You cannot send messages when you are offline."));
}
- else if (!db_get_s(data->hContact,m_szModuleName,FACEBOOK_KEY_ID,&dbv))
+ else if (!getString(data->hContact, FACEBOOK_KEY_ID, &dbv))
{
//ParseSmileys(data->msg, data->hContact);
@@ -81,7 +81,7 @@ void FacebookProto::SendChatMsgWorker(void *p)
if (hContact) {
std::string tid;
DBVARIANT dbv;
- if (!db_get_s(hContact, m_szModuleName, FACEBOOK_KEY_TID, &dbv)) {
+ if (!getString(hContact, FACEBOOK_KEY_TID, &dbv)) {
tid = dbv.pszVal;
db_free(&dbv);
} else {
@@ -94,7 +94,7 @@ void FacebookProto::SendChatMsgWorker(void *p)
facy.validate_response(&resp);
tid = utils::text::source_get_value(&resp.data, 2, "\"thread_id\":\"", "\"");
- db_set_s(hContact, m_szModuleName, FACEBOOK_KEY_TID, tid.c_str());
+ setString(hContact, FACEBOOK_KEY_TID, tid.c_str());
Log(" Got thread info: %s = %s", data->chat_id.c_str(), tid.c_str());
}
@@ -132,8 +132,7 @@ void FacebookProto::SendTypingWorker(void *p)
send_typing *typing = static_cast<send_typing*>(p);
// Dont send typing notifications to contacts, that are offline or not friends
- if (db_get_w(typing->hContact,m_szModuleName,"Status", 0) == ID_STATUS_OFFLINE
- || db_get_b(typing->hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND)
+ if (getWord(typing->hContact, "Status", 0) == ID_STATUS_OFFLINE || getWord(typing->hContact, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND)
return;
// TODO RM: maybe better send typing optimalization
@@ -147,7 +146,7 @@ void FacebookProto::SendTypingWorker(void *p)
}
DBVARIANT dbv;
- if (!db_get_s(typing->hContact,m_szModuleName,FACEBOOK_KEY_ID,&dbv))
+ if (!getString(typing->hContact, FACEBOOK_KEY_ID, &dbv))
{
std::string data = "&source=mercury-chat";
data += (typing->status == PROTOTYPE_SELFTYPING_ON ? "&typ=1" : "&typ=0"); // PROTOTYPE_SELFTYPING_OFF
@@ -170,7 +169,7 @@ void FacebookProto::ReadMessageWorker(void *p)
HANDLE hContact = static_cast<HANDLE>(p);
- if (!db_get_b(NULL, m_szModuleName, FACEBOOK_KEY_MARK_READ, 1)) {
+ if (!getByte(FACEBOOK_KEY_MARK_READ, 1)) {
// old variant - no seen info updated
ptrA id( db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID));
if (id == NULL) return;
@@ -183,7 +182,7 @@ void FacebookProto::ReadMessageWorker(void *p)
facy.flap(REQUEST_ASYNC, &data);
} else {
// new variant - with seen info
- ptrA mid( db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_MESSAGE_ID));
+ ptrA mid( getStringA(hContact, FACEBOOK_KEY_MESSAGE_ID));
if (mid == NULL) return;
std::string data = "ids[" + std::string(mid) + "]=true";
@@ -197,7 +196,7 @@ void FacebookProto::ReadMessageWorker(void *p)
void FacebookProto::ParseSmileys(std::string message, HANDLE hContact)
{
- if (!db_get_b(NULL,m_szModuleName,FACEBOOK_KEY_CUSTOM_SMILEYS, DEFAULT_CUSTOM_SMILEYS))
+ if (!getByte(FACEBOOK_KEY_CUSTOM_SMILEYS, DEFAULT_CUSTOM_SMILEYS))
return;
HANDLE nlc = NULL;
diff --git a/protocols/FacebookRM/src/process.cpp b/protocols/FacebookRM/src/process.cpp
index fa13cc2b86..3338d5de34 100644
--- a/protocols/FacebookRM/src/process.cpp
+++ b/protocols/FacebookRM/src/process.cpp
@@ -42,7 +42,7 @@ void FacebookProto::ProcessBuddyList(void* data)
p->parse_buddy_list(data, &facy.buddies);
delete p;
- bool use_mobile_status = db_get_b(NULL,m_szModuleName,FACEBOOK_KEY_LOAD_MOBILE, DEFAULT_LOAD_MOBILE) != 0;
+ bool use_mobile_status = getByte(FACEBOOK_KEY_LOAD_MOBILE, DEFAULT_LOAD_MOBILE) != 0;
for (List::Item< facebook_user >* i = facy.buddies.begin(); i != NULL;)
{
@@ -73,19 +73,18 @@ void FacebookProto::ProcessBuddyList(void* data)
DBVARIANT dbv;
TCHAR* client = on_mobile ? _T(FACEBOOK_MOBILE) : _T(FACEBOOK_NAME);
- if (!db_get_ts(hContact,m_szModuleName,"MirVer",&dbv)) {
+ if (!getTString(hContact, "MirVer", &dbv)) {
if (_tcscmp(dbv.ptszVal, client))
- db_set_ts(hContact,m_szModuleName,"MirVer",client);
+ setTString(hContact, "MirVer", client);
db_free(&dbv);
- } else {
- db_set_ts(hContact,m_szModuleName,"MirVer",client);
}
+ else setTString(hContact, "MirVer", client);
}
if (fbu->status_id == ID_STATUS_OFFLINE || fbu->deleted)
{
if (fbu->handle)
- db_set_w(fbu->handle, m_szModuleName, "Status", ID_STATUS_OFFLINE);
+ setWord(fbu->handle, "Status", ID_STATUS_OFFLINE);
std::string to_delete(i->key);
i = i->next;
@@ -96,24 +95,24 @@ void FacebookProto::ProcessBuddyList(void* data)
if (!fbu->handle) // just been added
fbu->handle = AddToContactList(fbu, CONTACT_FRIEND);
- if (db_get_w(fbu->handle, m_szModuleName, "Status", 0) != fbu->status_id)
- db_set_w(fbu->handle, m_szModuleName, "Status", fbu->status_id);
+ if (getWord(fbu->handle, "Status", 0) != fbu->status_id)
+ setWord(fbu->handle, "Status", fbu->status_id);
- if (db_get_dw(fbu->handle, m_szModuleName, "LastActiveTS", 0) != fbu->last_active) {
+ if (getDword(fbu->handle, "LastActiveTS", 0) != fbu->last_active) {
if (fbu->last_active > 0)
- db_set_dw(fbu->handle, m_szModuleName, "LastActiveTS", fbu->last_active);
+ setDword(fbu->handle, "LastActiveTS", fbu->last_active);
else
- db_unset(fbu->handle, m_szModuleName, "LastActiveTS");
+ delSetting(fbu->handle, "LastActiveTS");
}
- if (db_get_b(fbu->handle, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND) {
- db_set_b(fbu->handle, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
+ if (getByte(fbu->handle, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND) {
+ setByte(fbu->handle, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
// TODO: remove that popup and use "Contact added you" event?
}
// Wasn't contact removed from "server-list" someday?
- if (db_get_dw(fbu->handle, m_szModuleName, FACEBOOK_KEY_DELETED, 0)) {
- db_unset(fbu->handle, m_szModuleName, FACEBOOK_KEY_DELETED);
+ if (getDword(fbu->handle, FACEBOOK_KEY_DELETED, 0)) {
+ delSetting(fbu->handle, FACEBOOK_KEY_DELETED);
std::string url = FACEBOOK_URL_PROFILE + fbu->user_id;
@@ -159,12 +158,12 @@ void FacebookProto::ProcessFriendList(void* data)
// Check and update old contacts
for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) {
- if (db_get_b(hContact,m_szModuleName,"ChatRoom",0))
+ if (getByte(hContact, "ChatRoom", 0))
continue;
DBVARIANT dbv;
facebook_user *fbu;
- if (!db_get_s(hContact,m_szModuleName,FACEBOOK_KEY_ID,&dbv)) {
+ if (!getString(hContact, FACEBOOK_KEY_ID, &dbv)) {
std::string id = dbv.pszVal;
db_free(&dbv);
@@ -180,8 +179,8 @@ void FacebookProto::ProcessFriendList(void* data)
// TODO RM: remove, because contacts cant change it, so its only for "first run"
// - but what with contacts, that was added after logon?
// Update gender
- if (db_get_b(hContact, m_szModuleName, "Gender", 0) != fbu->gender)
- db_set_b(hContact, m_szModuleName, "Gender", fbu->gender);
+ if (getByte(hContact, "Gender", 0) != fbu->gender)
+ setByte(hContact, "Gender", fbu->gender);
// Update real name
if (!db_get_utf(hContact, m_szModuleName, FACEBOOK_KEY_NAME, &dbv))
@@ -195,14 +194,14 @@ void FacebookProto::ProcessFriendList(void* data)
db_set_utf(hContact, m_szModuleName, FACEBOOK_KEY_NICK, fbu->real_name.c_str());
}
- if (db_get_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND) {
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
+ if (getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND) {
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_FRIEND);
// TODO: remove that popup and use "Contact added you" event?
}
// Wasn't contact removed from "server-list" someday?
- if (db_get_dw(hContact, m_szModuleName, FACEBOOK_KEY_DELETED, 0)) {
- db_unset(hContact, m_szModuleName, FACEBOOK_KEY_DELETED);
+ if (getDword(hContact, FACEBOOK_KEY_DELETED, 0)) {
+ delSetting(hContact, FACEBOOK_KEY_DELETED);
std::string url = FACEBOOK_URL_PROFILE + fbu->user_id;
@@ -220,12 +219,12 @@ void FacebookProto::ProcessFriendList(void* data)
// Contact was removed from "server-list", notify it
// Wasnt we already been notified about this contact? And was this real friend?
- if (!db_get_dw(hContact, m_szModuleName, FACEBOOK_KEY_DELETED, 0)
- && db_get_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0) == CONTACT_FRIEND)
+ if (!getDword(hContact, FACEBOOK_KEY_DELETED, 0)
+ && getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, 0) == CONTACT_FRIEND)
{
- db_set_dw(hContact, m_szModuleName, FACEBOOK_KEY_DELETED, ::time(NULL));
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
+ setDword(hContact, FACEBOOK_KEY_DELETED, ::time(NULL));
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
std::string contactname = id;
if (!db_get_utf(hContact, m_szModuleName, FACEBOOK_KEY_NAME, &dbv)) {
@@ -248,7 +247,6 @@ void FacebookProto::ProcessFriendList(void* data)
facebook_user *fbu = iter->second;
HANDLE hContact = AddToContactList(fbu, CONTACT_FRIEND, true); // This contact is surely new ...are you sure?
-// db_set_w(hContact, m_szModuleName, "Status", ID_STATUS_OFFLINE);
}
LOG("***** Friend list processed");
@@ -411,7 +409,7 @@ void FacebookProto::ProcessMessages(void* data)
p->parse_messages(data, &messages, &notifications);
delete p;
- bool local_timestamp = getByte(FACEBOOK_KEY_LOCAL_TIMESTAMP, 0) != 0;
+ bool local_timestamp = getBool(FACEBOOK_KEY_LOCAL_TIMESTAMP, 0);
for(std::vector<facebook_message*>::size_type i=0; i<messages.size(); i++)
{
@@ -423,7 +421,7 @@ void FacebookProto::ProcessMessages(void* data)
fbu.real_name = messages[i]->sender_name;
HANDLE hContact = AddToContactList(&fbu, CONTACT_NONE);
- db_set_s(hContact, m_szModuleName, FACEBOOK_KEY_MESSAGE_ID, messages[i]->message_id.c_str());
+ setString(hContact, FACEBOOK_KEY_MESSAGE_ID, messages[i]->message_id.c_str());
// TODO: if contact is newly added, get his user info
// TODO: maybe create new "receiveMsg" function and use it for offline and channel messages?
@@ -562,19 +560,19 @@ void FacebookProto::ProcessFriendRequests(void*)
if (fbu->user_id.length() && fbu->real_name.length())
{
HANDLE hContact = AddToContactList(fbu, CONTACT_APPROVE);
- db_set_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_APPROVE);
+ setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_APPROVE);
bool seen = false;
DBVARIANT dbv;
- if (!db_get_s(hContact, m_szModuleName, "RequestTime", &dbv)) {
+ if (!getString(hContact, "RequestTime", &dbv)) {
seen = !strcmp(dbv.pszVal, time.c_str());
db_free(&dbv);
}
if (!seen) {
// This is new request
- db_set_s(hContact, m_szModuleName, "RequestTime", time.c_str());
+ setString(hContact, "RequestTime", time.c_str());
//blob is: uin(DWORD), hContact(HANDLE), nick(ASCIIZ), first(ASCIIZ), last(ASCIIZ), email(ASCIIZ), reason(ASCIIZ)
//blob is: 0(DWORD), hContact(HANDLE), nick(ASCIIZ), ""(ASCIIZ), ""(ASCIIZ), ""(ASCIIZ), ""(ASCIIZ)
diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp
index d362447736..5bc721b63a 100644
--- a/protocols/FacebookRM/src/proto.cpp
+++ b/protocols/FacebookRM/src/proto.cpp
@@ -162,7 +162,7 @@ int FacebookProto::SetStatus(int new_status)
case ID_STATUS_IDLE:
default:
m_iDesiredStatus = ID_STATUS_INVISIBLE;
- if (db_get_b(NULL,m_szModuleName,FACEBOOK_KEY_MAP_STATUSES, DEFAULT_MAP_STATUSES))
+ if (getByte(FACEBOOK_KEY_MAP_STATUSES, DEFAULT_MAP_STATUSES))
break;
case ID_STATUS_ONLINE:
case ID_STATUS_FREECHAT:
@@ -482,15 +482,15 @@ INT_PTR FacebookProto::VisitProfile(WPARAM wParam,LPARAM lParam)
std::string url = FACEBOOK_URL_PROFILE;
- ptrA val = db_get_sa(hContact, m_szModuleName, "Homepage");
+ ptrA val( getStringA(hContact, "Homepage"));
if (val != NULL) {
// Homepage link already present, get it
url = val;
} else {
// No homepage link, create and save it
- val = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ val = getStringA(hContact, FACEBOOK_KEY_ID);
url += val;
- db_set_s(hContact, m_szModuleName, "Homepage", url.c_str());
+ setString(hContact, "Homepage", url.c_str());
}
OpenUrl(url);
@@ -504,7 +504,7 @@ INT_PTR FacebookProto::VisitFriendship(WPARAM wParam,LPARAM lParam)
if (wParam == 0 || !IsMyContact(hContact))
return 1;
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
std::string url = FACEBOOK_URL_PROFILE;
url += facy.self_.user_id;
@@ -521,7 +521,7 @@ INT_PTR FacebookProto::Poke(WPARAM wParam,LPARAM lParam)
HANDLE hContact = reinterpret_cast<HANDLE>(wParam);
- ptrA id(db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID));
+ ptrA id(getStringA(hContact, FACEBOOK_KEY_ID));
if (id == NULL)
return 1;
@@ -539,8 +539,8 @@ INT_PTR FacebookProto::CancelFriendship(WPARAM wParam,LPARAM lParam)
HANDLE hContact = reinterpret_cast<HANDLE>(wParam);
// Ignore groupchats and, if deleting, also not-friends
- if (db_get_b(hContact, m_szModuleName, "ChatRoom", 0)
- || (deleting && db_get_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND))
+ if (getByte(hContact, "ChatRoom", 0)
+ || (deleting && getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, 0) != CONTACT_FRIEND))
return 0;
ptrT tname = db_get_tsa(hContact, m_szModuleName, FACEBOOK_KEY_NAME);
@@ -551,7 +551,7 @@ INT_PTR FacebookProto::CancelFriendship(WPARAM wParam,LPARAM lParam)
mir_sntprintf(tstr,SIZEOF(tstr),TranslateT("Do you want to cancel your friendship with '%s'?"), tname);
if (MessageBox(0, tstr, m_tszUserName, MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON2) == IDYES) {
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
if (id == NULL)
return 1;
@@ -576,7 +576,7 @@ INT_PTR FacebookProto::RequestFriendship(WPARAM wParam,LPARAM lParam)
HANDLE hContact = reinterpret_cast<HANDLE>(wParam);
- ptrA id = db_get_sa(hContact, m_szModuleName, FACEBOOK_KEY_ID);
+ ptrA id( getStringA(hContact, FACEBOOK_KEY_ID));
if (id == NULL)
return 1;
@@ -645,7 +645,7 @@ void FacebookProto::OpenUrl(std::string url)
}
// Make absolute url
- bool useHttps = db_get_b(NULL, m_szModuleName, FACEBOOK_KEY_FORCE_HTTPS, 1) > 0;
+ bool useHttps = getByte(FACEBOOK_KEY_FORCE_HTTPS, 1) > 0;
url = (useHttps ? HTTP_PROTO_SECURE : HTTP_PROTO_REGULAR) + facy.get_server_type() + url;
}
diff --git a/protocols/FacebookRM/src/theme.cpp b/protocols/FacebookRM/src/theme.cpp
index c67474a25a..f7c6889c66 100644
--- a/protocols/FacebookRM/src/theme.cpp
+++ b/protocols/FacebookRM/src/theme.cpp
@@ -146,7 +146,7 @@ void UninitContactMenus()
int FacebookProto::OnPrebuildContactMenu(WPARAM wParam,LPARAM lParam)
{
HANDLE hContact = reinterpret_cast<HANDLE>(wParam);
- bool isChatroom = db_get_b(hContact, m_szModuleName, "ChatRoom", 0) > 0;
+ bool isChatroom = getByte(hContact, "ChatRoom", 0) > 0;
Menu_ShowItem(g_hContactMenuItems[CMI_VISIT_PROFILE], true);
Menu_ShowItem(g_hContactMenuItems[CMI_VISIT_FRIENDSHIP], !isChatroom);
@@ -154,7 +154,7 @@ int FacebookProto::OnPrebuildContactMenu(WPARAM wParam,LPARAM lParam)
if (!isOffline() && !isChatroom)
{
bool ctrlPressed = (GetKeyState(VK_CONTROL) & 0x8000) != 0;
- BYTE type = db_get_b(hContact, m_szModuleName, FACEBOOK_KEY_CONTACT_TYPE, 0);
+ BYTE type = getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, 0);
Menu_ShowItem(g_hContactMenuItems[CMI_AUTH_ASK], ctrlPressed || type == CONTACT_NONE || !type);
Menu_ShowItem(g_hContactMenuItems[CMI_AUTH_GRANT], ctrlPressed || type == CONTACT_APPROVE);