summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp11
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp137
-rw-r--r--plugins/StatusManager/src/KeepStatus/keepstatus.cpp163
-rw-r--r--plugins/StatusManager/src/StartupStatus/ss_options.cpp27
-rw-r--r--plugins/StatusManager/src/StartupStatus/ss_profiles.cpp13
-rw-r--r--plugins/StatusManager/src/StartupStatus/startupstatus.cpp30
-rw-r--r--plugins/StatusManager/src/commonstatus.cpp12
-rw-r--r--plugins/StatusManager/src/confirmdialog.cpp36
-rw-r--r--plugins/StatusManager/src/main.cpp6
9 files changed, 205 insertions, 230 deletions
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
index db1fc2fea2..5e3f18e92c 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
+++ b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
@@ -140,10 +140,9 @@ static INT_PTR CALLBACK DlgProcAutoAwayRulesOpts(HWND hwndDlg, UINT msg, WPARAM
// fill list from currentProtoSettings
{
- for (int i = 0; i < optionSettings.getCount(); i++) {
- SMProto &p = optionSettings[i];
- int item = SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, CB_ADDSTRING, 0, (LPARAM)p.m_tszAccName);
- SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, CB_SETITEMDATA, item, (LPARAM)&p);
+ for (auto &p : optionSettings) {
+ int item = SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, CB_ADDSTRING, 0, (LPARAM)p->m_tszAccName);
+ SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, CB_SETITEMDATA, item, (LPARAM)p);
}
}
// set cursor to first protocol
@@ -334,8 +333,8 @@ static INT_PTR CALLBACK DlgProcAutoAwayRulesOpts(HWND hwndDlg, UINT msg, WPARAM
if (bSettingSame)
WriteAutoAwaySetting(*sameSetting, SETTING_ALL);
else {
- for (int i = 0; i < optionSettings.getCount(); i++)
- WriteAutoAwaySetting(optionSettings[i], optionSettings[i].m_szName);
+ for (auto &it : optionSettings)
+ WriteAutoAwaySetting(*it, it->m_szName);
}
AAALoadOptions();
}
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
index 6e63df6d32..3f638f22db 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
+++ b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
@@ -91,15 +91,15 @@ void AAALoadOptions()
monitorKeyboard = db_get_b(0, AAAMODULENAME, SETTING_MONITORKEYBOARD, TRUE);
lastInput = lastMirandaInput = GetTickCount();
- for (int i = 0; i < protoList.getCount(); i++) {
+ for (auto &it : protoList) {
char* protoName;
if ((db_get_b(0, AAAMODULENAME, SETTING_SAMESETTINGS, 0)))
protoName = SETTING_ALL;
else
- protoName = protoList[i].m_szName;
- LoadAutoAwaySetting(protoList[i], protoName);
+ protoName = it->m_szName;
+ LoadAutoAwaySetting(*it, protoName);
- if (protoList[i].optionFlags & FLAG_MONITORMIRANDA)
+ if (it->optionFlags & FLAG_MONITORMIRANDA)
monitorMiranda = TRUE;
else if (ignoreLockKeys || ignoreSysKeys || ignoreAltCombo || (monitorMouse != monitorKeyboard))
monitorAll = TRUE;
@@ -207,13 +207,12 @@ static VOID CALLBACK AutoAwayTimer(HWND, UINT, UINT_PTR, DWORD)
int statusChanged = FALSE;
int confirm = FALSE;
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto& aas = protoList[i];
- aas.m_status = ID_STATUS_DISABLED;
+ for (auto &it : protoList) {
+ it->m_status = ID_STATUS_DISABLED;
BOOL bTrigger = false;
- if (aas.optionFlags & FLAG_MONITORMIRANDA)
+ if (it->optionFlags & FLAG_MONITORMIRANDA)
mouseStationaryTimer = (GetTickCount() - lastMirandaInput) / 1000;
else {
LASTINPUTINFO ii = { sizeof(ii) };
@@ -221,108 +220,108 @@ static VOID CALLBACK AutoAwayTimer(HWND, UINT, UINT_PTR, DWORD)
mouseStationaryTimer = (GetTickCount() - ii.dwTime) / 1000;
}
- int sts1Time = aas.awayTime * SECS_PER_MINUTE;
- int sts2Time = aas.naTime * SECS_PER_MINUTE;
- int sts1setTime = aas.sts1setTimer == 0 ? 0 : (GetTickCount() - aas.sts1setTimer) / 1000;
- int currentMode = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
+ int sts1Time = it->awayTime * SECS_PER_MINUTE;
+ int sts2Time = it->naTime * SECS_PER_MINUTE;
+ int sts1setTime = it->sts1setTimer == 0 ? 0 : (GetTickCount() - it->sts1setTimer) / 1000;
+ int currentMode = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
- if (aas.optionFlags & FLAG_ONSAVER)
+ if (it->optionFlags & FLAG_ONSAVER)
bTrigger |= IsScreenSaverRunning();
- if (aas.optionFlags & FLAG_ONLOCK)
+ if (it->optionFlags & FLAG_ONLOCK)
bTrigger |= IsWorkstationLocked();
- if (aas.optionFlags & FLAG_FULLSCREEN)
+ if (it->optionFlags & FLAG_FULLSCREEN)
bTrigger |= IsFullScreen();
/* check states */
- if (aas.curState == ACTIVE) {
- if (((mouseStationaryTimer >= sts1Time && (aas.optionFlags & FLAG_ONMOUSE)) || bTrigger) && currentMode != aas.lv1Status && aas.statusFlags&StatusModeToProtoFlag(currentMode)) {
+ if (it->curState == ACTIVE) {
+ if (((mouseStationaryTimer >= sts1Time && (it->optionFlags & FLAG_ONMOUSE)) || bTrigger) && currentMode != it->lv1Status && it->statusFlags&StatusModeToProtoFlag(currentMode)) {
/* from ACTIVE to STATUS1_SET */
- aas.m_lastStatus = aas.originalStatusMode = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
- aas.m_status = aas.lv1Status;
- aas.sts1setTimer = GetTickCount();
+ it->m_lastStatus = it->originalStatusMode = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ it->m_status = it->lv1Status;
+ it->sts1setTimer = GetTickCount();
sts1setTime = 0;
- aas.statusChanged = statusChanged = TRUE;
- changeState(aas, STATUS1_SET);
+ it->statusChanged = statusChanged = TRUE;
+ changeState(*it, STATUS1_SET);
}
- else if (mouseStationaryTimer >= sts2Time && currentMode == aas.lv1Status && currentMode != aas.lv2Status && (aas.optionFlags & FLAG_SETNA) && (aas.statusFlags & StatusModeToProtoFlag(currentMode))) {
+ else if (mouseStationaryTimer >= sts2Time && currentMode == it->lv1Status && currentMode != it->lv2Status && (it->optionFlags & FLAG_SETNA) && (it->statusFlags & StatusModeToProtoFlag(currentMode))) {
/* from ACTIVE to STATUS2_SET */
- aas.m_lastStatus = aas.originalStatusMode = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
- aas.m_status = aas.lv2Status;
- aas.statusChanged = statusChanged = TRUE;
- changeState(aas, STATUS2_SET);
+ it->m_lastStatus = it->originalStatusMode = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ it->m_status = it->lv2Status;
+ it->statusChanged = statusChanged = TRUE;
+ changeState(*it, STATUS2_SET);
}
}
- if (aas.curState == STATUS1_SET) {
- if ((mouseStationaryTimer < sts1Time && !bTrigger) && !(aas.optionFlags & FLAG_RESET)) {
+ if (it->curState == STATUS1_SET) {
+ if ((mouseStationaryTimer < sts1Time && !bTrigger) && !(it->optionFlags & FLAG_RESET)) {
/* from STATUS1_SET to HIDDEN_ACTIVE */
- changeState(aas, HIDDEN_ACTIVE);
- aas.m_lastStatus = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
+ changeState(*it, HIDDEN_ACTIVE);
+ it->m_lastStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
}
else if (((mouseStationaryTimer < sts1Time) && !bTrigger) &&
- ((aas.optionFlags & FLAG_LV2ONINACTIVE) || (!(aas.optionFlags&FLAG_SETNA))) &&
- (aas.optionFlags & FLAG_RESET)) {
+ ((it->optionFlags & FLAG_LV2ONINACTIVE) || (!(it->optionFlags&FLAG_SETNA))) &&
+ (it->optionFlags & FLAG_RESET)) {
/* from STATUS1_SET to SET_ORGSTATUS */
- changeState(aas, SET_ORGSTATUS);
+ changeState(*it, SET_ORGSTATUS);
}
- else if ((aas.optionFlags & FLAG_SETNA) && sts1setTime >= sts2Time) {
+ else if ((it->optionFlags & FLAG_SETNA) && sts1setTime >= sts2Time) {
/* when set STATUS2, currentMode doesn't have to be in the selected status list (statusFlags) */
/* from STATUS1_SET to STATUS2_SET */
- aas.m_lastStatus = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
- aas.m_status = aas.lv2Status;
- aas.statusChanged = statusChanged = TRUE;
- changeState(aas, STATUS2_SET);
+ it->m_lastStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ it->m_status = it->lv2Status;
+ it->statusChanged = statusChanged = TRUE;
+ changeState(*it, STATUS2_SET);
}
}
- if (aas.curState == STATUS2_SET) {
- if (mouseStationaryTimer < sts2Time && !bTrigger && (aas.optionFlags & FLAG_RESET)) {
+ if (it->curState == STATUS2_SET) {
+ if (mouseStationaryTimer < sts2Time && !bTrigger && (it->optionFlags & FLAG_RESET)) {
/* from STATUS2_SET to SET_ORGSTATUS */
- changeState(aas, SET_ORGSTATUS);
+ changeState(*it, SET_ORGSTATUS);
}
- else if (mouseStationaryTimer < sts2Time && !bTrigger && !(aas.optionFlags & FLAG_RESET)) {
+ else if (mouseStationaryTimer < sts2Time && !bTrigger && !(it->optionFlags & FLAG_RESET)) {
/* from STATUS2_SET to HIDDEN_ACTIVE */
/* Remember: after status1 is set, and "only on inactive" is NOT set, it implies !reset. */
- changeState(aas, HIDDEN_ACTIVE);
- aas.m_lastStatus = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
+ changeState(*it, HIDDEN_ACTIVE);
+ it->m_lastStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
}
}
- if (aas.curState == HIDDEN_ACTIVE) {
- if (aas.mStatus) {
+ if (it->curState == HIDDEN_ACTIVE) {
+ if (it->mStatus) {
/* HIDDEN_ACTIVE to ACTIVE */
- //aas.statusChanged = FALSE;
- changeState(aas, ACTIVE);
- aas.sts1setTimer = 0;
- aas.mStatus = FALSE;
+ //it->statusChanged = FALSE;
+ changeState(*it, ACTIVE);
+ it->sts1setTimer = 0;
+ it->mStatus = FALSE;
}
- else if ((aas.optionFlags & FLAG_SETNA) && currentMode == aas.lv1Status &&
- currentMode != aas.lv2Status && (aas.statusFlags & StatusModeToProtoFlag(currentMode)) &&
- (mouseStationaryTimer >= sts2Time || (sts1setTime >= sts2Time && !(aas.optionFlags & FLAG_LV2ONINACTIVE)))) {
+ else if ((it->optionFlags & FLAG_SETNA) && currentMode == it->lv1Status &&
+ currentMode != it->lv2Status && (it->statusFlags & StatusModeToProtoFlag(currentMode)) &&
+ (mouseStationaryTimer >= sts2Time || (sts1setTime >= sts2Time && !(it->optionFlags & FLAG_LV2ONINACTIVE)))) {
/* HIDDEN_ACTIVE to STATUS2_SET */
- aas.m_lastStatus = aas.originalStatusMode = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
- aas.m_status = aas.lv2Status;
- aas.statusChanged = statusChanged = TRUE;
- changeState(aas, STATUS2_SET);
+ it->m_lastStatus = it->originalStatusMode = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ it->m_status = it->lv2Status;
+ it->statusChanged = statusChanged = TRUE;
+ changeState(*it, STATUS2_SET);
}
}
- if (aas.curState == SET_ORGSTATUS) {
+ if (it->curState == SET_ORGSTATUS) {
/* SET_ORGSTATUS to ACTIVE */
- aas.m_lastStatus = CallProtoService(aas.m_szName, PS_GETSTATUS, 0, 0);
- aas.m_status = aas.originalStatusMode;
- confirm = (aas.optionFlags & FLAG_CONFIRM) ? TRUE : confirm;
- aas.statusChanged = statusChanged = TRUE;
- changeState(aas, ACTIVE);
- aas.sts1setTimer = 0;
+ it->m_lastStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ it->m_status = it->originalStatusMode;
+ confirm = (it->optionFlags & FLAG_CONFIRM) ? TRUE : confirm;
+ it->statusChanged = statusChanged = TRUE;
+ changeState(*it, ACTIVE);
+ it->sts1setTimer = 0;
}
- protoList[i].mStatus = FALSE;
+ it->mStatus = FALSE;
}
if (confirm || statusChanged) {
TProtoSettings ps = protoList;
- for (int i = 0; i < ps.getCount(); i++)
- if (ps[i].m_status == ID_STATUS_DISABLED)
- ps[i].m_szName = "";
+ for (auto &it : ps)
+ if (it->m_status == ID_STATUS_DISABLED)
+ it->m_szName = "";
if (confirm)
confirmDialog = ShowConfirmDialogEx(&ps, db_get_w(0, AAAMODULENAME, SETTING_CONFIRMDELAY, 5));
diff --git a/plugins/StatusManager/src/KeepStatus/keepstatus.cpp b/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
index 31e95c3d0b..42e715a262 100644
--- a/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
+++ b/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
@@ -131,9 +131,9 @@ static PROTOCOLSETTINGEX** GetCurrentProtoSettingsCopy()
{
mir_cslock lck(GenStatusCS);
PROTOCOLSETTINGEX **ps = (PROTOCOLSETTINGEX**)mir_alloc(protoList.getCount() * sizeof(PROTOCOLSETTINGEX *));
- if (ps == nullptr) {
+ if (ps == nullptr)
return nullptr;
- }
+
for (int i = 0; i < protoList.getCount(); i++) {
ps[i] = (PROTOCOLSETTINGEX*)mir_calloc(sizeof(PROTOCOLSETTINGEX));
if (ps[i] == nullptr) {
@@ -243,17 +243,13 @@ static int StatusChange(WPARAM wParam, LPARAM lParam)
{
char *szProto = (char *)lParam;
if (szProto == nullptr) { // global status change
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- cs.AssignStatus(wParam, 0, cs.m_szMsg);
- }
+ for (auto &it : protoList)
+ it->AssignStatus(wParam, 0, it->m_szMsg);
}
else {
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(cs.m_szName, szProto))
- cs.AssignStatus(wParam, 0, cs.m_szMsg);
- }
+ for (auto &it : protoList)
+ if (!mir_strcmp(it->m_szName, szProto))
+ it->AssignStatus(wParam, 0, it->m_szMsg);
}
return 0;
@@ -272,13 +268,12 @@ static int CSStatusChange(WPARAM wParam, LPARAM)
if (psi->szName == nullptr)
continue;
- for (int j = 0; j < protoList.getCount(); j++) {
- SMProto &cs = protoList[i];
- if (cs.m_szName == nullptr)
+ for (auto &it : protoList) {
+ if (it->m_szName == nullptr)
continue;
- if (!mir_strcmp(psi->szName, cs.m_szName))
- cs.AssignStatus(psi->status, psi->lastStatus, cs.m_szMsg);
+ if (!mir_strcmp(psi->szName, it->m_szName))
+ it->AssignStatus(psi->status, psi->lastStatus, it->m_szMsg);
}
}
}
@@ -299,13 +294,12 @@ static int CSStatusChangeEx(WPARAM wParam, LPARAM)
if (psi->m_szName == nullptr)
continue;
- for (int j = 0; j < protoList.getCount(); j++) {
- SMProto &cs = protoList[i];
- if (cs.m_szName == nullptr)
+ for (auto &it : protoList) {
+ if (it->m_szName == nullptr)
continue;
- if (!mir_strcmp(psi->m_szName, cs.m_szName))
- cs.AssignStatus(psi->m_status, psi->m_lastStatus, psi->m_szMsg);
+ if (!mir_strcmp(psi->m_szName, it->m_szName))
+ it->AssignStatus(psi->m_status, psi->m_lastStatus, psi->m_szMsg);
}
}
}
@@ -482,28 +476,26 @@ static int ProcessProtoAck(WPARAM, LPARAM lParam)
return 0;
if (ack->type == ACKTYPE_STATUS && ack->result == ACKRESULT_SUCCESS) {
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(cs.m_szName, ack->szModule))
- cs.lastStatusAckTime = GetTickCount();
- }
+ for (auto &it : protoList)
+ if (!mir_strcmp(it->m_szName, ack->szModule))
+ it->lastStatusAckTime = GetTickCount();
+
StartTimer(IDT_PROCESSACK, 0, FALSE);
return 0;
}
if (ack->type == ACKTYPE_LOGIN) {
if (ack->lParam == LOGINERR_OTHERLOCATION) {
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(ack->szModule, cs.m_szName)) {
- cs.AssignStatus(ID_STATUS_OFFLINE);
+ for (auto &it : protoList) {
+ if (!mir_strcmp(ack->szModule, it->m_szName)) {
+ it->AssignStatus(ID_STATUS_OFFLINE);
if (db_get_b(0, KSMODULENAME, SETTING_CNCOTHERLOC, 0)) {
StopTimer(IDT_PROCESSACK);
- for (int j = 0; j < protoList.getCount(); j++)
- protoList[j].AssignStatus(ID_STATUS_OFFLINE);
+ for (auto &jt : protoList)
+ jt->AssignStatus(ID_STATUS_OFFLINE);
}
- NotifyEventHooks(hConnectionEvent, (WPARAM)KS_CONN_STATE_OTHERLOCATION, (LPARAM)cs.m_szName);
+ NotifyEventHooks(hConnectionEvent, (WPARAM)KS_CONN_STATE_OTHERLOCATION, (LPARAM)it->m_szName);
ProcessPopup(KS_CONN_STATE_OTHERLOCATION, (LPARAM)ack->szModule);
}
}
@@ -515,11 +507,10 @@ static int ProcessProtoAck(WPARAM, LPARAM lParam)
switch (db_get_b(0, KSMODULENAME, SETTING_LOGINERR, LOGINERR_NOTHING)) {
case LOGINERR_CANCEL:
log_infoA("KeepStatus: cancel on login error (%s)", ack->szModule);
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(ack->szModule, cs.m_szName))
- cs.AssignStatus(ID_STATUS_OFFLINE);
- }
+ for (auto &it : protoList)
+ if (!mir_strcmp(ack->szModule, it->m_szName))
+ it->AssignStatus(ID_STATUS_OFFLINE);
+
ProcessPopup(KS_CONN_STATE_LOGINERROR, (LPARAM)ack->szModule);
StopChecking();
break;
@@ -548,17 +539,15 @@ static VOID CALLBACK CheckConnectingTimer(HWND, UINT, UINT_PTR, DWORD)
{
StopTimer(IDT_CHECKCONNECTING);
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
-
- int curStatus = cs.GetStatus();
+ for (auto &it : protoList) {
+ int curStatus = it->GetStatus();
if (IsStatusConnecting(curStatus)) { // connecting
int maxConnectingTime = db_get_dw(0, KSMODULENAME, SETTING_MAXCONNECTINGTIME, 0);
if (maxConnectingTime > 0) {
- if ((unsigned int)maxConnectingTime <= ((GetTickCount() - cs.lastStatusAckTime) / 1000)) {
+ if ((unsigned int)maxConnectingTime <= ((GetTickCount() - it->lastStatusAckTime) / 1000)) {
// set offline
- log_infoA("KeepStatus: %s is too long connecting; setting offline", cs.m_szName);
- CallProtoService(cs.m_szName, PS_SETSTATUS, (WPARAM)ID_STATUS_OFFLINE, 0);
+ log_infoA("KeepStatus: %s is too long connecting; setting offline", it->m_szName);
+ CallProtoService(it->m_szName, PS_SETSTATUS, (WPARAM)ID_STATUS_OFFLINE, 0);
}
}
}
@@ -570,11 +559,9 @@ static VOID CALLBACK CheckAckStatusTimer(HWND, UINT, UINT_PTR, DWORD)
bool needChecking = false;
StopTimer(IDT_PROCESSACK);
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
-
- int curStatus = cs.GetStatus();
- int newStatus = CallProtoService(cs.m_szName, PS_GETSTATUS, 0, 0);
+ for (auto &it : protoList) {
+ int curStatus = it->GetStatus();
+ int newStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
// ok, np
if (curStatus == ID_STATUS_CURRENT || curStatus == ID_STATUS_DISABLED || curStatus == newStatus || newStatus > MAX_STATUS)
continue;
@@ -582,19 +569,19 @@ static VOID CALLBACK CheckAckStatusTimer(HWND, UINT, UINT_PTR, DWORD)
if (IsStatusConnecting(newStatus)) { // connecting
int maxConnectingTime = db_get_dw(0, KSMODULENAME, SETTING_MAXCONNECTINGTIME, 0);
if (maxConnectingTime > 0)
- StartTimer(IDT_CHECKCONNECTING, (maxConnectingTime * 1000 - (GetTickCount() - cs.lastStatusAckTime)), FALSE);
+ StartTimer(IDT_CHECKCONNECTING, (maxConnectingTime * 1000 - (GetTickCount() - it->lastStatusAckTime)), FALSE);
}
// keepstatus' administration was wrong!
else if (newStatus != ID_STATUS_OFFLINE)
- cs.AssignStatus(newStatus);
+ it->AssignStatus(newStatus);
// connection lost
else if (newStatus == ID_STATUS_OFFLINE) {// start checking connection
if (!StartTimer(IDT_CHECKCONN, -1, FALSE)) { /* check if not already checking */
needChecking = true;
- log_infoA("KeepStatus: connection lost! (%s)", cs.m_szName);
- NotifyEventHooks(hConnectionEvent, (WPARAM)KS_CONN_STATE_LOST, (LPARAM)cs.m_szName);
- ProcessPopup(KS_CONN_STATE_LOST, (LPARAM)cs.m_szName);
+ log_infoA("KeepStatus: connection lost! (%s)", it->m_szName);
+ NotifyEventHooks(hConnectionEvent, (WPARAM)KS_CONN_STATE_LOST, (LPARAM)it->m_szName);
+ ProcessPopup(KS_CONN_STATE_LOST, (LPARAM)it->m_szName);
}
}
}
@@ -608,16 +595,17 @@ static VOID CALLBACK CheckConnectionTimer(HWND, UINT, UINT_PTR, DWORD)
log_debugA("CheckConnectionTimer");
bool setStatus = false;
- for (int i = 0; i < protoList.getCount() && !setStatus; i++) {
- SMProto &cs = protoList[i];
- int realStatus = CallProtoService(cs.m_szName, PS_GETSTATUS, 0, 0);
- int shouldBeStatus = cs.GetStatus();
+ for (auto &it : protoList) {
+ int realStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ int shouldBeStatus = it->GetStatus();
if (shouldBeStatus == ID_STATUS_LAST)
- shouldBeStatus = cs.m_lastStatus;
+ shouldBeStatus = it->m_lastStatus;
if (shouldBeStatus == ID_STATUS_DISABLED)
continue;
- if ((shouldBeStatus != realStatus) && (realStatus == ID_STATUS_OFFLINE) || (realStatus < MIN_STATUS))
+ if ((shouldBeStatus != realStatus) && (realStatus == ID_STATUS_OFFLINE) || (realStatus < MIN_STATUS)) {
setStatus = true;
+ break;
+ }
}
// one of the status was wrong
@@ -649,13 +637,13 @@ static int StopChecking()
StopTimer(IDT_CHECKCONN | IDT_PROCESSACK | IDT_AFTERCHECK | IDT_CHECKCONNECTING);
BOOL isOk = TRUE;
- for (int i = 0; i < protoList.getCount() && isOk; i++) {
- SMProto &cs = protoList[i];
- int curStatus = cs.GetStatus();
- int newStatus = CallProtoService(cs.m_szName, PS_GETSTATUS, 0, 0);
+ for (auto &it : protoList) {
+ int curStatus = it->GetStatus();
+ int newStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
if (newStatus != curStatus) {
- cs.AssignStatus(newStatus);
+ it->AssignStatus(newStatus);
isOk = FALSE;
+ break;
}
}
@@ -675,12 +663,11 @@ static VOID CALLBACK AfterCheckTimer(HWND, UINT, UINT_PTR, DWORD)
bool setStatus = false;
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- int realStatus = CallProtoService(cs.m_szName, PS_GETSTATUS, 0, 0);
- int shouldBeStatus = cs.GetStatus();
+ for (auto &it : protoList) {
+ int realStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0);
+ int shouldBeStatus = it->GetStatus();
if (shouldBeStatus == ID_STATUS_LAST) // this should never happen
- shouldBeStatus = cs.m_lastStatus;
+ shouldBeStatus = it->m_lastStatus;
if (shouldBeStatus == ID_STATUS_DISABLED) // (on ignoring proto)
continue;
if ((shouldBeStatus != realStatus) && (realStatus == ID_STATUS_OFFLINE) || (realStatus < MIN_STATUS))
@@ -702,17 +689,16 @@ static void CheckContinuouslyFunction(void *)
// do a ping, even if reconnecting
bool doPing = false;
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- int shouldBeStatus = cs.GetStatus();
+ for (auto &it : protoList) {
+ int shouldBeStatus = it->GetStatus();
if (shouldBeStatus == ID_STATUS_LAST)
- shouldBeStatus = cs.m_lastStatus;
+ shouldBeStatus = it->m_lastStatus;
if (shouldBeStatus == ID_STATUS_DISABLED)
continue;
if (shouldBeStatus != ID_STATUS_OFFLINE) {
- log_debugA("CheckContinuouslyFunction: %s should be %d", cs.m_szName, shouldBeStatus);
+ log_debugA("CheckContinuouslyFunction: %s should be %d", it->m_szName, shouldBeStatus);
doPing = true;
}
}
@@ -1005,13 +991,12 @@ INT_PTR EnableProtocolService(WPARAM wParam, LPARAM lParam)
return -1;
int ret = -2;
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(szProto, cs.m_szName)) {
+ for (auto &it : protoList) {
+ if (!mir_strcmp(szProto, it->m_szName)) {
if (wParam)
- cs.AssignStatus(CallProtoService(cs.m_szName, PS_GETSTATUS, 0, 0));
+ it->AssignStatus(CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0));
else
- cs.AssignStatus(ID_STATUS_DISABLED);
+ it->AssignStatus(ID_STATUS_DISABLED);
ret = 0;
break;
@@ -1029,11 +1014,9 @@ INT_PTR IsProtocolEnabledService(WPARAM, LPARAM lParam)
if (!db_get_b(0, KSMODULENAME, dbSetting, 1))
return FALSE;
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(szProto, cs.m_szName))
- return cs.GetStatus() != ID_STATUS_DISABLED;
- }
+ for (auto &it : protoList)
+ if (!mir_strcmp(szProto, it->m_szName))
+ return it->GetStatus() != ID_STATUS_DISABLED;
return FALSE;
}
@@ -1043,11 +1026,9 @@ INT_PTR AnnounceStatusChangeService(WPARAM, LPARAM lParam)
PROTOCOLSETTINGEX *newSituation = (PROTOCOLSETTINGEX *)lParam;
log_infoA("Another plugin announced a status change to %d for %s", newSituation->m_status, newSituation->m_szName == nullptr ? "all" : newSituation->m_szName);
- for (int i = 0; i < protoList.getCount(); i++) {
- SMProto &cs = protoList[i];
- if (!mir_strcmp(cs.m_szName, newSituation->m_szName))
- cs.AssignStatus(newSituation->m_status, newSituation->m_lastStatus, newSituation->m_szMsg);
- }
+ for (auto &it : protoList)
+ if (!mir_strcmp(it->m_szName, newSituation->m_szName))
+ it->AssignStatus(newSituation->m_status, newSituation->m_lastStatus, newSituation->m_szMsg);
return 0;
}
diff --git a/plugins/StatusManager/src/StartupStatus/ss_options.cpp b/plugins/StatusManager/src/StartupStatus/ss_options.cpp
index c0253b26e1..c3400120bd 100644
--- a/plugins/StatusManager/src/StartupStatus/ss_options.cpp
+++ b/plugins/StatusManager/src/StartupStatus/ss_options.cpp
@@ -109,23 +109,21 @@ static wchar_t* GetLinkDescription(TProtoSettings& protoSettings)
return nullptr;
CMStringW result(SHORTCUT_DESC);
- for (int i = 0; i < protoSettings.getCount(); i++) {
- SMProto &p = protoSettings[i];
-
+ for (auto &p : protoSettings) {
wchar_t *status;
- if (p.m_status == ID_STATUS_LAST)
+ if (p->m_status == ID_STATUS_LAST)
status = TranslateT("<last>");
- else if (p.m_status == ID_STATUS_CURRENT)
+ else if (p->m_status == ID_STATUS_CURRENT)
status = TranslateT("<current>");
- else if (p.m_status >= MIN_STATUS && p.m_status <= MAX_STATUS)
- status = pcli->pfnGetStatusModeDescription(p.m_status, 0);
+ else if (p->m_status >= MIN_STATUS && p->m_status <= MAX_STATUS)
+ status = pcli->pfnGetStatusModeDescription(p->m_status, 0);
else
status = nullptr;
if (status == nullptr)
status = TranslateT("<unknown>");
result.AppendChar('\r');
- result.Append(p.m_tszAccName);
+ result.Append(p->m_tszAccName);
result.AppendChar(':');
result.AppendChar(' ');
result.Append(status);
@@ -525,9 +523,8 @@ class CSSAdvancedOptDlg : public CDlgBase
// fill proto list
lstAccount.ResetContent();
- TProtoSettings &ar = arProfiles[sel].ps;
- for (int i = 0; i < ar.getCount(); i++)
- lstAccount.AddString(ar[i].m_tszAccName, (LPARAM)&ar[i]);
+ for (auto &it : arProfiles[sel].ps)
+ lstAccount.AddString(it->m_tszAccName, (LPARAM)it);
lstAccount.SetCurSel(0);
SetProtocol();
@@ -684,10 +681,10 @@ public:
char setting[128];
int len = mir_snprintf(setting, "%d_", i);
- for (int k = 0; k < arSettings.getCount(); k++) {
- if (!strncmp(setting, arSettings[k], len))
- db_unset(0, SSMODULENAME, arSettings[k]);
- mir_free(arSettings[k]);
+ for (auto &it : arSettings) {
+ if (!strncmp(setting, it, len))
+ db_unset(0, SSMODULENAME, it);
+ mir_free(it);
}
}
diff --git a/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp b/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
index 872139fc83..608cface96 100644
--- a/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
+++ b/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
@@ -133,11 +133,10 @@ wchar_t* GetStatusMessage(int profile, const char *szProto)
char dbSetting[80];
mir_snprintf(dbSetting, "%d_%s_%s", profile, szProto, SETTING_PROFILE_STSMSG);
- for (int i = 0; i < arProfiles.getCount(); i++) {
- auto &p = arProfiles[i];
- if (p.profile == profile && !mir_strcmp(p.szProto, szProto)) {
- p.msg = db_get_wsa(0, SSMODULENAME, dbSetting);
- return p.msg;
+ for (auto &p : arProfiles) {
+ if (p->profile == profile && !mir_strcmp(p->szProto, szProto)) {
+ p->msg = db_get_wsa(0, SSMODULENAME, dbSetting);
+ return p->msg;
}
}
@@ -181,8 +180,8 @@ int GetProfile(int profile, TProtoSettings &arSettings)
if (profile >= count && count > 0)
return -1;
- for (int i = 0; i < arSettings.getCount(); i++)
- FillStatus(arSettings[i], profile);
+ for (auto &it : arSettings)
+ FillStatus(*it, profile);
return (arSettings.getCount() == 0) ? -1 : 0;
}
diff --git a/plugins/StatusManager/src/StartupStatus/startupstatus.cpp b/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
index f4d6df4150..0c44c09a9c 100644
--- a/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
+++ b/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
@@ -37,9 +37,9 @@ static BYTE showDialogOnStartup = 0;
static PROTOCOLSETTINGEX* IsValidProtocol(TProtoSettings &protoSettings, const char *protoName)
{
- for (int i = 0; i < protoSettings.getCount(); i++)
- if (!strncmp(protoSettings[i].m_szName, protoName, mir_strlen(protoSettings[i].m_szName)))
- return &protoSettings[i];
+ for (auto &it : protoSettings)
+ if (!strncmp(it->m_szName, protoName, mir_strlen(it->m_szName)))
+ return it;
return nullptr;
}
@@ -117,13 +117,13 @@ static void ProcessCommandLineOptions(TProtoSettings& protoSettings)
static void SetLastStatusMessages(TProtoSettings &ps)
{
- for (int i = 0; i < ps.getCount(); i++) {
- if (ps[i].m_status != ID_STATUS_LAST)
+ for (auto &it : ps) {
+ if (it->m_status != ID_STATUS_LAST)
continue;
char dbSetting[128];
- mir_snprintf(dbSetting, "%s%s", PREFIX_LASTMSG, ps[i].m_szName);
- ps[i].m_szMsg = db_get_wsa(0, SSMODULENAME, dbSetting);
+ mir_snprintf(dbSetting, "%s%s", PREFIX_LASTMSG, it->m_szName);
+ it->m_szMsg = db_get_wsa(0, SSMODULENAME, dbSetting);
}
}
@@ -141,9 +141,9 @@ static int ProcessProtoAck(WPARAM, LPARAM lParam)
if (!db_get_b(0, SSMODULENAME, SETTING_OVERRIDE, 1) || protoList.getCount() == 0)
return 0;
- for (int i = 0; i < protoList.getCount(); i++) {
- if (!mir_strcmp(ack->szModule, protoList[i].m_szName)) {
- protoList[i].m_szName = "";
+ for (auto &it : protoList) {
+ if (!mir_strcmp(ack->szModule, it->m_szName)) {
+ it->m_szName = "";
log_debugA("StartupStatus: %s overridden by ME_PROTO_ACK, status will not be set", ack->szModule);
}
}
@@ -159,15 +159,15 @@ static int StatusChange(WPARAM, LPARAM lParam)
char *szProto = (char *)lParam;
if (szProto == nullptr) { // global status change
- for (int i = 0; i < protoList.getCount(); i++) {
- protoList[i].m_szName = "";
+ for (auto &it : protoList) {
+ it->m_szName = "";
log_debugA("StartupStatus: all protos overridden by ME_CLIST_STATUSMODECHANGE, status will not be set");
}
}
else {
- for (int i = 0; i < protoList.getCount(); i++) {
- if (!mir_strcmp(protoList[i].m_szName, szProto)) {
- protoList[i].m_szName = "";
+ for (auto &it : protoList) {
+ if (!mir_strcmp(it->m_szName, szProto)) {
+ it->m_szName = "";
log_debugA("StartupStatus: %s overridden by ME_CLIST_STATUSMODECHANGE, status will not be set", szProto);
}
}
diff --git a/plugins/StatusManager/src/commonstatus.cpp b/plugins/StatusManager/src/commonstatus.cpp
index 702d2cea26..6355cc9839 100644
--- a/plugins/StatusManager/src/commonstatus.cpp
+++ b/plugins/StatusManager/src/commonstatus.cpp
@@ -60,8 +60,8 @@ TProtoSettings::TProtoSettings()
TProtoSettings::TProtoSettings(const TProtoSettings &p)
: OBJLIST<SMProto>(p.getCount(), CompareProtoSettings)
{
- for (int i = 0; i < p.getCount(); i++)
- insert(new SMProto(p[i]));
+ for (auto &it : p)
+ insert(new SMProto(*it));
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -145,17 +145,17 @@ wchar_t* GetDefaultStatusMessage(PROTOCOLSETTINGEX *ps, int newstatus)
static int equalsGlobalStatus(PROTOCOLSETTINGEX **ps)
{
- int i, j, pstatus = 0, gstatus = 0;
+ int j, pstatus = 0, gstatus = 0;
- for (i = 0; i < protoList.getCount(); i++)
- if (ps[i]->m_szMsg != nullptr && GetActualStatus(ps[i]) != ID_STATUS_OFFLINE)
+ for (auto &it : protoList)
+ if (it->m_szMsg != nullptr && GetActualStatus(it) != ID_STATUS_OFFLINE)
return 0;
int count;
PROTOACCOUNT **protos;
Proto_EnumAccounts(&count, &protos);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
if (!IsSuitableProto(protos[i]))
continue;
diff --git a/plugins/StatusManager/src/confirmdialog.cpp b/plugins/StatusManager/src/confirmdialog.cpp
index 0d3ce3e2a3..5cdcf88237 100644
--- a/plugins/StatusManager/src/confirmdialog.cpp
+++ b/plugins/StatusManager/src/confirmdialog.cpp
@@ -112,19 +112,19 @@ static int SetStatusList(HWND hwndDlg)
LVITEM lvItem = { 0 };
lvItem.mask = LVIF_TEXT | LVIF_PARAM;
- for (int i = 0; i < confirmSettings->getCount(); i++) {
- lvItem.pszText = (*confirmSettings)[i].m_tszAccName;
+ for (auto &it : *confirmSettings) {
+ lvItem.pszText = it->m_tszAccName;
if (ListView_GetItemCount(hList) < confirmSettings->getCount())
ListView_InsertItem(hList, &lvItem);
int actualStatus;
- switch ((*confirmSettings)[i].m_status) {
- case ID_STATUS_LAST: actualStatus = (*confirmSettings)[i].m_lastStatus; break;
- case ID_STATUS_CURRENT: actualStatus = CallProtoService((*confirmSettings)[i].m_szName, PS_GETSTATUS, 0, 0); break;
- default: actualStatus = (*confirmSettings)[i].m_status;
+ switch (it->m_status) {
+ case ID_STATUS_LAST: actualStatus = it->m_lastStatus; break;
+ case ID_STATUS_CURRENT: actualStatus = CallProtoService(it->m_szName, PS_GETSTATUS, 0, 0); break;
+ default: actualStatus = it->m_status;
}
- wchar_t* status = pcli->pfnGetStatusModeDescription(actualStatus, 0);
- switch ((*confirmSettings)[i].m_status) {
+ wchar_t *status = pcli->pfnGetStatusModeDescription(actualStatus, 0);
+ switch (it->m_status) {
case ID_STATUS_LAST:
mir_snwprintf(buf, L"%s (%s)", TranslateT("<last>"), status);
ListView_SetItemText(hList, lvItem.iItem, 1, buf);
@@ -138,10 +138,10 @@ static int SetStatusList(HWND hwndDlg)
}
// status message
- if (!((!((CallProtoService((*confirmSettings)[i].m_szName, PS_GETCAPS, (WPARAM)PFLAGNUM_1, 0)&PF1_MODEMSGSEND)&~PF1_INDIVMODEMSG)) || (!(CallProtoService((*confirmSettings)[i].m_szName, PS_GETCAPS, (WPARAM)PFLAGNUM_3, 0)&Proto_Status2Flag(actualStatus))))) {
- wchar_t *msg = GetDefaultStatusMessage(&(*confirmSettings)[i], actualStatus);
+ if (!((!((CallProtoService(it->m_szName, PS_GETCAPS, (WPARAM)PFLAGNUM_1, 0)&PF1_MODEMSGSEND)&~PF1_INDIVMODEMSG)) || (!(CallProtoService(it->m_szName, PS_GETCAPS, (WPARAM)PFLAGNUM_3, 0)&Proto_Status2Flag(actualStatus))))) {
+ wchar_t *msg = GetDefaultStatusMessage(it, actualStatus);
if (msg != nullptr) {
- wchar_t* fMsg = variables_parsedup(msg, (*confirmSettings)[i].m_tszAccName, 0);
+ wchar_t* fMsg = variables_parsedup(msg, it->m_tszAccName, 0);
ListView_SetItemText(hList, lvItem.iItem, 2, fMsg);
mir_free(fMsg);
mir_free(msg);
@@ -152,7 +152,7 @@ static int SetStatusList(HWND hwndDlg)
ListView_SetColumnWidth(hList, 0, LVSCW_AUTOSIZE);
ListView_SetColumnWidth(hList, 2, LVSCW_AUTOSIZE);
- lvItem.lParam = (LPARAM)&(*confirmSettings)[i];
+ lvItem.lParam = (LPARAM)it;
ListView_SetItem(hList, &lvItem);
lvItem.iItem++;
}
@@ -238,12 +238,12 @@ static INT_PTR CALLBACK ConfirmDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP
case IDC_PROFILE:
{
int profile = (int)SendDlgItemMessage(hwndDlg, IDC_PROFILE, CB_GETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_PROFILE, CB_GETCURSEL, 0, 0), 0);
- for (int i = 0; i < confirmSettings->getCount(); i++)
- replaceStrW((*confirmSettings)[i].m_szMsg, nullptr);
+ for (auto &it : *confirmSettings)
+ replaceStrW(it->m_szMsg, nullptr);
CallService(MS_SS_GETPROFILE, (WPARAM)profile, (LPARAM)confirmSettings);
- for (int i = 0; i < confirmSettings->getCount(); i++)
- (*confirmSettings)[i].m_szMsg = mir_wstrdup((*confirmSettings)[i].m_szMsg);
+ for (auto &it : *confirmSettings)
+ it->m_szMsg = mir_wstrdup(it->m_szMsg);
SetStatusList(hwndDlg);
}
@@ -402,8 +402,8 @@ HWND ShowConfirmDialogEx(TProtoSettings *params, int _timeout)
delete confirmSettings;
confirmSettings = new OBJLIST<TConfirmSetting>(10, CompareSettings);
- for (int i = 0; i < params->getCount(); i++)
- confirmSettings->insert(new TConfirmSetting((*params)[i]));
+ for (auto &it : *params)
+ confirmSettings->insert(new TConfirmSetting(*it));
timeOut = _timeout;
if (timeOut < 0)
diff --git a/plugins/StatusManager/src/main.cpp b/plugins/StatusManager/src/main.cpp
index 478112b6af..651123f71c 100644
--- a/plugins/StatusManager/src/main.cpp
+++ b/plugins/StatusManager/src/main.cpp
@@ -103,9 +103,9 @@ int OnAccChanged(WPARAM wParam, LPARAM lParam)
break;
case PRAC_REMOVED:
- for (int i = 0; i < protoList.getCount(); i++) {
- if (!mir_strcmp(protoList[i].m_szName, pa->szModuleName)) {
- protoList.remove(i);
+ for (auto &it : protoList) {
+ if (!mir_strcmp(it->m_szName, pa->szModuleName)) {
+ protoList.remove(it);
break;
}
}