本文整理汇总了C++中db_get_tsa函数的典型用法代码示例。如果您正苦于以下问题:C++ db_get_tsa函数的具体用法?C++ db_get_tsa怎么用?C++ db_get_tsa使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了db_get_tsa函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: getActiveContact
/**
* update all or only the given status message information from the database
*
* @param szKey: char* database key name or 0 to reload all messages
*/
void CContactCache::updateStatusMsg(const char *szKey)
{
if (!m_Valid)
return;
MCONTACT hContact = getActiveContact();
if (szKey == 0 || (szKey && !mir_strcmp("StatusMsg", szKey))) {
if (m_szStatusMsg)
mir_free(m_szStatusMsg);
m_szStatusMsg = 0;
ptrT szStatus(db_get_tsa(hContact, "CList", "StatusMsg"));
if (szStatus != 0)
m_szStatusMsg = (mir_tstrlen(szStatus) > 0 ? getNormalizedStatusMsg(szStatus) : 0);
}
if (szKey == 0 || (szKey && !mir_strcmp("ListeningTo", szKey))) {
if (m_ListeningInfo)
mir_free(m_ListeningInfo);
m_ListeningInfo = 0;
ptrT szListeningTo(db_get_tsa(hContact, cc->szProto, "ListeningTo"));
if (szListeningTo != 0 && *szListeningTo)
m_ListeningInfo = szListeningTo.detach();
}
if (szKey == 0 || (szKey && !mir_strcmp("XStatusMsg", szKey))) {
if (m_xStatusMsg)
mir_free(m_xStatusMsg);
m_xStatusMsg = 0;
ptrT szXStatusMsg(db_get_tsa(hContact, cc->szProto, "XStatusMsg"));
if (szXStatusMsg != 0 && *szXStatusMsg)
m_xStatusMsg = szXStatusMsg.detach();
}
m_xStatus = db_get_b(hContact, cc->szProto, "XStatusId", 0);
}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:38,代码来源:contactcache.cpp
示例2: UpdateList
void UpdateList(HWND hwndList)
{
LVITEM lvI = { 0 };
// Some code to create the list-view control.
// Initialize LVITEM members that are common to all
// items.
int i = 0;
for (MCONTACT hContact = db_find_first(MODULE); hContact; hContact = db_find_next(hContact, MODULE)) {
UpdateListFlag = TRUE;
lvI.mask = LVIF_TEXT;
lvI.iSubItem = 0;
TCHAR *ptszNick = db_get_tsa(hContact, MODULE, "Nick");
if (ptszNick) {
lvI.pszText = ptszNick;
lvI.iItem = i;
ListView_InsertItem(hwndList, &lvI);
lvI.iSubItem = 1;
TCHAR *ptszURL = db_get_tsa(hContact, MODULE, "URL");
if (ptszURL) {
lvI.pszText = ptszURL;
ListView_SetItem(hwndList, &lvI);
i++;
ListView_SetCheckState(hwndList, lvI.iItem, db_get_b(hContact, MODULE, "CheckState", 1));
mir_free(ptszURL);
}
mir_free(ptszNick);
}
}
UpdateListFlag = FALSE;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:32,代码来源:Utils.cpp
示例3: jid
void __cdecl CJabberProto::OnAddContactForever(DBCONTACTWRITESETTING *cws, HANDLE hContact)
{
if (cws->value.type != DBVT_DELETED && !(cws->value.type == DBVT_BYTE && cws->value.bVal == 0))
return;
ptrT jid(getTStringA(hContact, "jid"));
if (jid == NULL)
return;
debugLogA("Add %S permanently to list", jid);
ptrT nick(db_get_tsa(hContact, "CList", "MyHandle"));
if (nick == NULL)
nick = getTStringA(hContact, "Nick");
if (nick == NULL)
nick = JabberNickFromJID(jid);
if (nick == NULL)
return;
AddContactToRoster(jid, nick, ptrT(db_get_tsa(hContact, "CList", "Group")));
XmlNode xPresence(_T("presence")); xPresence << XATTR(_T("to"), LPCTSTR(jid)) << XATTR(_T("type"), _T("subscribe"));
ptrT myNick(getTStringA(NULL, "Nick"));
if (myNick != NULL)
xPresence << XCHILD(_T("nick"), LPCTSTR(myNick)) << XATTR(_T("xmlns"), JABBER_FEAT_NICK);
m_ThreadInfo->send(xPresence);
SendGetVcard(jid);
db_unset(hContact, "CList", "Hidden");
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:30,代码来源:jabber_events.cpp
示例4: SiteDeleted
int SiteDeleted(WPARAM wParam, LPARAM)
{
MCONTACT hContact = wParam;
if (mir_strcmp(GetContactProto(hContact), MODULENAME))
return 0;
ptrT contactName( db_get_tsa(hContact, MODULENAME, PRESERVE_NAME_KEY));
// TEST GET NAME FOR CACHE
TCHAR cachepath[MAX_PATH], cachedirectorypath[MAX_PATH], newcachepath[MAX_PATH + 50];
GetModuleFileName(hInst, cachepath, _countof(cachepath));
TCHAR *cacheend = _tcsrchr(cachepath, '\\');
cacheend++;
*cacheend = '\0';
mir_sntprintf(cachedirectorypath, _T("%s")_T(MODULENAME)_T("cache\\"), cachepath);
CreateDirectory(cachedirectorypath, NULL);
mir_sntprintf(newcachepath, _T("%s")_T(MODULENAME)_T("cache\\%s.txt"), cachepath, contactName);
// file exists?
if ( _taccess(newcachepath, 0) != -1) {
FILE *pcachefile = _tfopen(newcachepath, _T("r"));
if (pcachefile != NULL) {
fclose(pcachefile);
DeleteFile(newcachepath);
db_set_s(hContact, MODULENAME, CACHE_FILE_KEY, "");
}
}
return 0;
}
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:29,代码来源:webview_services.cpp
示例5: roomID
INT_PTR __cdecl CJabberProto::OnMenuRosterAdd(WPARAM hContact, LPARAM)
{
if (!hContact)
return 0; // we do not add ourself to the roster. (buggy situation - should not happen)
ptrT roomID(getTStringA(hContact, "ChatRoomID"));
if (roomID == NULL)
return 0;
if (ListGetItemPtr(LIST_ROSTER, roomID) == NULL) {
ptrT group(db_get_tsa(hContact, "CList", "Group"));
ptrT nick(getTStringA(hContact, "Nick"));
AddContactToRoster(roomID, nick, group);
if (m_options.AddRoster2Bookmarks == TRUE) {
JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_BOOKMARK, roomID);
if (item == NULL) {
item = new JABBER_LIST_ITEM();
item->jid = mir_tstrdup(roomID);
item->name = mir_tstrdup(nick);
item->nick = getTStringA(hContact, "MyNick");
AddEditBookmark(item);
delete item;
}
}
}
return 0;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:28,代码来源:jabber_menu.cpp
示例6: DeleteAutoSession
int DeleteAutoSession(int ses_count)
{
for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
RemoveSessionMark(hContact, 0, ses_count);
SetInSessionOrder(hContact, 0, ses_count, 0);
}
char szSessionName[256];
mir_snprintf(szSessionName, "%s_%u", "SessionDate", ses_count);
db_unset(NULL, MODNAME, szSessionName);
for (int i = ses_count + 1;; i++) {
mir_snprintf(szSessionName, "%s_%u", "SessionDate", i);
ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName));
mir_snprintf(szSessionName, "%s_%u", "SessionDate", i - 1);
if (szSessionNameBuf)
db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
else {
db_unset(NULL, MODNAME, szSessionName);
break;
}
}
return 0;
}
开发者ID:kxepal,项目名称:miranda-ng,代码行数:26,代码来源:Main.cpp
示例7: DelUserDefSession
int DelUserDefSession(int ses_count)
{
for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
RemoveSessionMark(hContact, 1, ses_count);
SetInSessionOrder(hContact, 1, ses_count, 0);
}
char szSessionName[256];
mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", ses_count);
db_unset(NULL, MODNAME, szSessionName);
mir_snprintf(szSessionName, "%s_%u", "FavUserSession", ses_count);
db_unset(NULL, MODNAME, szSessionName);
for (int i = ses_count + 1;; i++) {
mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i);
ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName));
mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i - 1);
if (szSessionNameBuf) {
MarkUserDefSession(i - 1, IsMarkedUserDefSession(i));
db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
}
else {
db_unset(NULL, MODNAME, szSessionName);
mir_snprintf(szSessionName, "%s_%u", "FavUserSession", i - 1);
db_unset(NULL, MODNAME, szSessionName);
break;
}
}
g_ses_count--;
db_set_b(0, MODNAME, "UserSessionsCount", (BYTE)g_ses_count);
return 0;
}
开发者ID:kxepal,项目名称:miranda-ng,代码行数:35,代码来源:Main.cpp
示例8: SaveSessionDate
int SaveSessionDate()
{
if (session_list[0] != 0) {
int TimeSize = GetTimeFormat(LOCALE_USER_DEFAULT, 0/*TIME_NOSECONDS*/, NULL, NULL, NULL, 0);
TCHAR *szTimeBuf = (TCHAR*)mir_alloc((TimeSize + 1)*sizeof(TCHAR));
GetTimeFormat(LOCALE_USER_DEFAULT, 0/*TIME_NOSECONDS*/, NULL, NULL, szTimeBuf, TimeSize);
int DateSize = GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, NULL, 0);
TCHAR *szDateBuf = (TCHAR*)mir_alloc((DateSize + 1)*sizeof(TCHAR));
GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, szDateBuf, DateSize);
int lenn = (DateSize + TimeSize + 5);
TCHAR *szSessionTime = (TCHAR*)mir_alloc(lenn*sizeof(TCHAR));
mir_sntprintf(szSessionTime, lenn, _T("%s - %s"), szTimeBuf, szDateBuf);
char szSetting[256];
mir_snprintf(szSetting, "%s_%d", "SessionDate", 0);
TCHAR *ptszSaveSessionDate = db_get_tsa(NULL, MODNAME, szSetting);
db_set_ts(NULL, MODNAME, szSetting, szSessionTime);
mir_free(szSessionTime);
if (ptszSaveSessionDate)
ResaveSettings("SessionDate", 1, g_ses_limit, ptszSaveSessionDate);
if (szTimeBuf)
mir_free(szTimeBuf);
if (szDateBuf)
mir_free(szDateBuf);
}
if (g_bCrashRecovery)
db_set_b(NULL, MODNAME, "lastSaveCompleted", 1);
return 0;
}
开发者ID:kxepal,项目名称:miranda-ng,代码行数:35,代码来源:Main.cpp
示例9: AwayMsgHook
static int AwayMsgHook(WPARAM wParam, LPARAM lParam, LPARAM pObj)
{
PLUGINDATA *pdp = (PLUGINDATA*)pObj;
if (pdp == NULL)
return 0;
ACKDATA *ack = (ACKDATA *)lParam;
if (ack->type != ACKTYPE_AWAYMSG || ack->hProcess != pdp->hAwayMsgProcess)
return 0;
//The first thing we go is removing the hook from the chain to avoid useless calls.
UnhookEvent(pdp->hAwayMsgHook);
pdp->hAwayMsgHook = NULL;
if (ack->result != ACKRESULT_SUCCESS)
return 0;
MCONTACT hContact = PUGetContact(pdp->hWnd);
ptrT pstzLast( db_get_tsa(hContact, MODULE, "LastPopupText"));
TCHAR *tszStatus = (TCHAR*)ack->lParam;
if (tszStatus == NULL || *tszStatus == 0)
return 0;
TCHAR stzText[1024];
if (pstzLast)
mir_sntprintf(stzText, SIZEOF(stzText), _T("%s\n%s"), pstzLast, tszStatus);
else
_tcsncpy(stzText, tszStatus, SIZEOF(stzText));
SendMessage(pdp->hWnd, WM_SETREDRAW, FALSE, 0);
PUChangeTextT(pdp->hWnd, stzText);
SendMessage(pdp->hWnd, WM_SETREDRAW, TRUE, 0);
return 0;
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:34,代码来源:popup.cpp
示例10: ProcessChatEvent
static int ProcessChatEvent(WPARAM, LPARAM lParam)
{
GCEVENT *gce = (GCEVENT*)lParam;
if (gce == NULL || gce->pDest == NULL)
return 0;
GCDEST *gcd = (GCDEST*)gce->pDest;
if (gcd->iType != GC_EVENT_MESSAGE)
return 0;
MCONTACT hContact = pci->FindRoom(gcd->pszModule, gcd->ptszID);
if (hContact != 0) {
ptrT nick(db_get_tsa(hContact, gcd->pszModule, "MyNick"));
if (nick == NULL || gce->ptszText == NULL)
return 0;
if (_tcsstr(gce->ptszText, nick)) {
isIgnoreSound = db_get_b(hContact, SETTINGSNAME, SETTINGSIGNOREKEY, 0);
DBVARIANT dbv;
if (!isIgnoreSound && !db_get_ts(hContact, SETTINGSNAME, SETTINGSKEY, &dbv)) {
TCHAR PlaySoundPath[MAX_PATH] = { 0 };
PathToAbsoluteT(dbv.ptszVal, PlaySoundPath);
isOwnSound = 0;
SkinPlaySoundFile(PlaySoundPath);
db_free(&dbv);
isOwnSound = 1;
}
}
}
return 0;
}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:31,代码来源:xsn_main.cpp
示例11: ResaveSettings
BOOL ResaveSettings(char *szName, int iFirst, int iLimit, TCHAR *szBuffer)
{
for (int i = iFirst; i < iLimit; i++) {
if (szBuffer == NULL)
break;
char szNameBuf[256];
mir_snprintf(szNameBuf, "%s_%u", szName, i);
TCHAR *ptszTemp = db_get_tsa(NULL, MODNAME, szNameBuf);
db_set_ts(NULL, MODNAME, szNameBuf, szBuffer);
mir_free(szBuffer);
BYTE marked = IsMarkedUserDefSession(i);
MarkUserDefSession(i, (BYTE)((i == iFirst) ? IsMarkedUserDefSession(iFirst - 1) : marked));
if (ptszTemp == NULL) // read failed
return 0;
szBuffer = ptszTemp;
}
mir_free(szBuffer);
return 1;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:25,代码来源:Utils.cpp
示例12: PingWebsiteMenuCommand
INT_PTR PingWebsiteMenuCommand(WPARAM wParam, LPARAM)
{
FILE *pfile = fopen("psite.bat", "r");
if (pfile == NULL) {
WErrorPopup((UINT_PTR)"ERROR", TranslateT("Missing \"psite.bat\" file."));
return 0;
}
ptrT url( db_get_tsa(wParam, MODULENAME, "URL"));
if (url == NULL)
return 0;
TCHAR Cnick[200], *Oldnick;
_tcsncpy(Cnick, url, _countof(Cnick));
if ((Oldnick = _tcsstr(Cnick, _T("://"))) != 0)
Oldnick += 3;
else
Oldnick = Cnick;
TCHAR *Nend = _tcschr(Oldnick, '/');
if (Nend) *Nend = '\0';
ShellExecute(NULL, _T("open"), _T("psite.bat"), Oldnick, NULL, SW_HIDE);
return 0;
}
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:25,代码来源:webview_services.cpp
示例13: LoadSessionToCombobox
int LoadSessionToCombobox(HWND hdlg,BOOL mode,int iLimit,char* pszSetting,int iFirstNum)
{
int ses_count = iFirstNum, index;
char szBuffer[256]={0};
if (session_list_recovered[0] && !iFirstNum && !mode) {
index = SendDlgItemMessage(hdlg, IDC_LIST, CB_ADDSTRING, 0, (LPARAM)TranslateT("Session Before Last Crash"));
SendDlgItemMessage(hdlg, IDC_LIST, CB_SETITEMDATA, index, 256);
}
for(int i=0; i < iLimit; i++) {
mir_snprintf(szBuffer, SIZEOF(szBuffer), "%s_%u", pszSetting, i);
TCHAR *pszBuffer = db_get_tsa(NULL, MODNAME, szBuffer);
if (pszBuffer) {
if (!IsMarkedUserDefSession(i+iFirstNum)||mode == 1) {
index = SendDlgItemMessage(hdlg, IDC_LIST, CB_ADDSTRING, 0, (LPARAM)pszBuffer);
SendDlgItemMessage(hdlg, IDC_LIST, CB_SETITEMDATA, (WPARAM)index, i+iFirstNum);
}
else {
SendDlgItemMessage(hdlg, IDC_LIST, CB_INSERTSTRING, 0, (LPARAM)pszBuffer);
SendDlgItemMessage(hdlg, IDC_LIST, CB_SETITEMDATA, 0, i+iFirstNum);
}
mir_free(pszBuffer);
}
else {
if (i == 0) ses_count=iLimit-iFirstNum;
break;
}
}
return ses_count;
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:30,代码来源:Utils.cpp
示例14: CreateAuthString
void CreateAuthString(char *auth, MCONTACT hContact, HWND hwndDlg)
{
DBVARIANT dbv;
char *user = NULL, *pass = NULL;
TCHAR *tlogin = NULL, *tpass = NULL, buf[MAX_PATH] = {0};
if (hContact && db_get_b(hContact, MODULE, "UseAuth", 0)) {
if (!db_get_ts(hContact, MODULE, "Login", &dbv)) {
tlogin = mir_tstrdup(dbv.ptszVal);
db_free(&dbv);
}
tpass = db_get_tsa(hContact, MODULE, "Password");
}
else if (hwndDlg && IsDlgButtonChecked(hwndDlg, IDC_USEAUTH)) {
GetDlgItemText(hwndDlg, IDC_LOGIN, buf, SIZEOF(buf));
tlogin = mir_tstrdup(buf);
GetDlgItemText(hwndDlg, IDC_PASSWORD, buf, SIZEOF(buf));
tpass = mir_tstrdup(buf);
}
user = mir_t2a(tlogin);
pass = mir_t2a(tpass);
char str[MAX_PATH];
int len = mir_snprintf(str, SIZEOF(str), "%s:%s", user, pass);
mir_free(user);
mir_free(pass);
mir_free(tlogin);
mir_free(tpass);
mir_snprintf(auth, 250, "Basic %s", ptrA(mir_base64_encode((PBYTE)str, len)));
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:30,代码来源:Authentication.cpp
示例15: MIR_CORE_DLL
MIR_CORE_DLL(int) TimeZone_SelectListItem(MCONTACT hContact, LPCSTR szModule, HWND hWnd, DWORD dwFlags)
{
const ListMessages *lstMsg = GetListMessages(hWnd, dwFlags);
if (lstMsg == NULL)
return -1;
if (szModule == NULL) szModule = "UserInfo";
int iSelection = 0;
ptrT tszName(db_get_tsa(hContact, szModule, "TzName"));
if (tszName != NULL) {
unsigned hash = mir_hashstrT(tszName);
for (int i = 0; i < g_timezonesBias.getCount(); i++) {
if (hash == g_timezonesBias[i]->hash) {
iSelection = i + 1;
break;
}
}
}
else {
signed char cBias = db_get_b(hContact, szModule, "Timezone", -100);
if (cBias != -100) {
int iBias = cBias * 30;
for (int i = 0; i < g_timezonesBias.getCount(); i++) {
if (iBias == g_timezonesBias[i]->tzi.Bias) {
iSelection = i + 1;
break;
}
}
}
}
SendMessage(hWnd, lstMsg->setSel, iSelection, 0);
return iSelection;
}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:35,代码来源:timezones.cpp
示例16: mir_utf8encodeT
void CDropbox::SendToContact(MCONTACT hContact, const TCHAR *data)
{
if (hContact == GetDefaultContact()) {
char *message = mir_utf8encodeT(data);
AddEventToDb(hContact, EVENTTYPE_MESSAGE, DBEF_UTF, (DWORD)mir_strlen(message), (PBYTE)message);
return;
}
const char *szProto = GetContactProto(hContact);
if (db_get_b(hContact, szProto, "ChatRoom", 0) == TRUE) {
ptrT tszChatRoom(db_get_tsa(hContact, szProto, "ChatRoomID"));
GCDEST gcd = { szProto, tszChatRoom, GC_EVENT_SENDMESSAGE };
GCEVENT gce = { sizeof(gce), &gcd };
gce.bIsMe = TRUE;
gce.dwFlags = GCEF_ADDTOLOG;
gce.ptszText = mir_tstrdup(data);
gce.time = time(NULL);
CallServiceSync(MS_GC_EVENT, WINDOW_VISIBLE, (LPARAM)&gce);
mir_free((void*)gce.ptszText);
return;
}
char *message = mir_utf8encodeT(data);
if (CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)message) != ACKRESULT_FAILED)
AddEventToDb(hContact, EVENTTYPE_MESSAGE, DBEF_UTF | DBEF_SENT, (DWORD)mir_strlen(message), (PBYTE)message);
}
开发者ID:wyrover,项目名称:miranda-ng,代码行数:26,代码来源:dropbox_utils.cpp
示例17: debugLogA
void CVkProto::OnReceiveStatusMsg(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq)
{
debugLogA("CVkProto::OnReceiveStatusMsg %d", reply->resultCode);
if (reply->resultCode != 200)
return;
OnReceiveStatus(reply, pReq);
ptrT ptszOldStatusMsg(db_get_tsa(NULL, m_szModuleName, "OldStatusMsg"));
CMString tszOldStatusMsg(ptszOldStatusMsg);
ENTER_STRING pForm = { sizeof(pForm) };
pForm.type = ESF_MULTILINE;
pForm.caption = TranslateT("Enter new status message");
pForm.ptszInitVal = ptszOldStatusMsg;
pForm.szModuleName = m_szModuleName;
pForm.szDataPrefix = "statusmsgform_";
if (!EnterString(&pForm))
return;
CMString tszNewStatusMsg(ptrT(pForm.ptszResult));
if (tszOldStatusMsg == tszNewStatusMsg)
return;
RetrieveStatusMsg(tszNewStatusMsg);
setTString("OldStatusMsg", ptszOldStatusMsg);
}
开发者ID:wyrover,项目名称:miranda-ng,代码行数:28,代码来源:vk_status.cpp
示例18: DeleteAutoSession
int DeleteAutoSession(int ses_count)
{
int i=0;
HANDLE hContact;
char szSessionName[256]={0};
TCHAR *szSessionNameBuf=NULL;
for (hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
RemoveSessionMark(hContact,0,ses_count);
SetInSessionOrder(hContact,0,ses_count,0);
}
mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", ses_count);
db_unset(NULL, MODNAME, szSessionName);
for (i=(ses_count+1);;i++) {
mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i);
if (szSessionNameBuf = db_get_tsa(NULL, MODNAME, szSessionName)) {
mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1);
db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
mir_free(szSessionNameBuf);
}
else {
mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1);
db_unset(NULL, MODNAME, szSessionName);
break;
}
}
return 0;
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:33,代码来源:Main.cpp
示例19: CreateGroup
int CreateGroup(const TCHAR *group, MCONTACT hContact)
{
if (group == NULL)
return 0;
size_t cbName = mir_tstrlen(group);
TCHAR *tszGrpName = (TCHAR*)_alloca((cbName + 2)*sizeof(TCHAR));
tszGrpName[0] = 1 | GROUPF_EXPANDED;
mir_tstrcpy(tszGrpName + 1, group);
// Check for duplicate & find unused id
char groupIdStr[11];
for (int groupId = 0;; groupId++) {
itoa(groupId, groupIdStr, 10);
ptrT tszDbGroup(db_get_tsa(NULL, "CListGroups", groupIdStr));
if (tszDbGroup == NULL)
break;
if (!mir_tstrcmp((TCHAR*)tszDbGroup+1, tszGrpName+1)) {
if (hContact)
db_set_ts(hContact, "CList", "Group", tszGrpName + 1);
else
AddMessage(LPGENT("Skipping duplicate group %s."), tszGrpName + 1);
return 0;
}
}
db_set_ts(NULL, "CListGroups", groupIdStr, tszGrpName);
if (hContact)
db_set_ts(hContact, "CList", "Group", tszGrpName + 1);
return 1;
}
开发者ID:kxepal,项目名称:miranda-ng,代码行数:34,代码来源:utils.cpp
示例20: ListGetItemPtr
void __cdecl CJabberProto::OnRenameGroup(DBCONTACTWRITESETTING *cws, HANDLE hContact)
{
JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_ROSTER, ptrT(getTStringA(hContact, "jid")));
if (item == NULL)
return;
ptrT tszNick(db_get_tsa(hContact, "CList", "MyHandle"));
if (tszNick == NULL)
tszNick = getTStringA(hContact, "Nick");
if (tszNick == NULL)
tszNick = JabberNickFromJID(item->jid);
if (tszNick == NULL)
return;
if (cws->value.type == DBVT_DELETED) {
if (item->group != NULL) {
debugLogA("Group set to nothing");
AddContactToRoster(item->jid, tszNick, NULL);
}
}
else {
TCHAR *p = sttSettingToTchar(cws);
if (cws->value.pszVal != NULL && lstrcmp(p, item->group)) {
debugLogA("Group set to %S", p);
if (p)
AddContactToRoster(item->jid, tszNick, p);
}
mir_free(p);
}
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:30,代码来源:jabber_events.cpp
注:本文中的db_get_tsa函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论