#include "StdAfx.h" #include "MBCfgDirWatch.h" #define INI_MOBOX_WATCHINGFILE _T( "MoboxDirWatching.ini" ) #define MOBOX_BACKUPATTR_SECTION _T("MOBOX_BACKUPATTR") #define MOBOX_BACKUPATTR_SECTION_BACKUPDIRWATCH _T("BackupDirWatch") #define MOBOX_BACKUPATTR_SECTION_RELOADBACKUPDIR _T("ReloadBackupDirInfo") #define MOBOX_LOGININFO_SECTION _T("MOBOX_LOGININFO") #define MOBOX_LOGININFO_SECTION_USERSERVER _T("LoginUserServer") CMBCfgDirWatch::CMBCfgDirWatch(void) { } CMBCfgDirWatch::~CMBCfgDirWatch(void) { } CString CMBCfgDirWatch::GetMoboxWatchingConfig() { CString strFileName; strFileName.Format( _T("%s\\Data\\%s"), CStrFileUtils::GetCurModuleDir() , INI_MOBOX_WATCHINGFILE ); return strFileName; } void CMBCfgDirWatch::SetBackupDirWatchInfo(CString strUser, CString strServerID) { CString strInitFile; CString strValue; strInitFile = GetMoboxWatchingConfig(); strValue.Format(_T("%s;%s"), strServerID,strUser ); WritePrivateProfileString( MOBOX_BACKUPATTR_SECTION,MOBOX_BACKUPATTR_SECTION_BACKUPDIRWATCH, strValue ,strInitFile ); } void CMBCfgDirWatch::SetLoginUserInfo(CString strServerIp,int nPort, CString strServerID, CString strUser, CString strSessionID) { CString strInitFile; CString strValue; CString strTemp; CString strLoginInfo; CString strUserLoginInfo; CString strLoginUsers; CString strTempInfo; TCHAR szValue[1024] = { 0 }; strLoginUsers = _T(""); strUserLoginInfo.Format(_T("%s;%d;%s;%s;%s;"),strServerIp,nPort,strServerID, strUser, strSessionID); strUserLoginInfo.MakeLower(); strInitFile = GetMoboxWatchingConfig(); GetPrivateProfileString(MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER,_T(""),szValue,1024, strInitFile ); strValue = szValue; if(strValue.IsEmpty()) { strUserLoginInfo +=_T("|"); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strUserLoginInfo ,strInitFile ); return ; } strTempInfo.Format(_T("%s;%d;%s;%s;"),strServerIp,nPort,strServerID, strUser); strTempInfo.MakeLower(); strValue.MakeLower(); int nPos = strValue.Find(strTempInfo); if(nPos < 0) { strLoginUsers.Format(_T("%s%s|"),strValue,strUserLoginInfo); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strLoginUsers ,strInitFile ); return ; } int nPos2 = strValue.Find(_T("|"),nPos); if(nPos2 < 0) { strLoginUsers.Format(_T("%s%s|"),strValue.Left(nPos),strUserLoginInfo); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strLoginUsers ,strInitFile ); return ; } strLoginUsers.Format(_T("%s%s%s|"),strValue.Left(nPos),strValue.Mid(nPos2 + 1,strValue.GetLength() - nPos2 -1),strUserLoginInfo); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strLoginUsers ,strInitFile ); } void CMBCfgDirWatch::ExitLoginUserInfo(CString strServerIp,int nPort, CString strServerID, CString strUser) { CString strInitFile; CString strValue; CString strTemp; CString strLoginInfo; CString strLoginUsers; CString strTempInfo; TCHAR szValue[1024] = { 0 }; strLoginUsers = _T(""); strInitFile = GetMoboxWatchingConfig(); GetPrivateProfileString(MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER,_T(""),szValue,1024, strInitFile ); strValue = szValue; if(strValue.IsEmpty()) { return ; } strTempInfo.Format(_T("%s;%d;%s;%s;"),strServerIp,nPort,strServerID, strUser); strTempInfo.MakeLower(); strValue.MakeLower(); int nPos = strValue.Find(strTempInfo); if(nPos < 0) { return ; } int nPos2 = strValue.Find(_T("|"),nPos); if(nPos2 < 0) { strLoginUsers.Format(_T("%s"),strValue.Left(nPos)); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strLoginUsers ,strInitFile ); return ; } strLoginUsers.Format(_T("%s%s"),strValue.Left(nPos),strValue.Mid(nPos2 + 1,strValue.GetLength() - nPos2 -1)); WritePrivateProfileString( MOBOX_LOGININFO_SECTION, MOBOX_LOGININFO_SECTION_USERSERVER, strLoginUsers ,strInitFile ); } void CMBCfgDirWatch::GetBackupDirWatchInfo(CString &strUser, CString &strServerID) { CString strInitFile; CString strValue; TCHAR szValue[1204] = { 0 }; strInitFile = GetMoboxWatchingConfig(); strUser = _T(""); strServerID = _T(""); GetPrivateProfileString(MOBOX_BACKUPATTR_SECTION, MOBOX_BACKUPATTR_SECTION_BACKUPDIRWATCH,_T(""),szValue,1204, strInitFile ); strValue = szValue; if ( GetElementItem(strValue,strServerID, _T(";"))) { strUser = strValue; } } void CMBCfgDirWatch::SetReloadBackupDirWatchInfo() { CString strInitFile; CString strValue; strInitFile = GetMoboxWatchingConfig(); strValue = _T("1"); WritePrivateProfileString( MOBOX_BACKUPATTR_SECTION, MOBOX_BACKUPATTR_SECTION_RELOADBACKUPDIR, strValue ,strInitFile ); } BOOL CMBCfgDirWatch::GetElementItem(CString &strStuff, CString &strItem,CString strApart) { if( strStuff.GetLength() == 0 ) { strItem = _T(""); return FALSE; } int pos = strStuff.Find(strApart); if( pos >= 0 ) { strItem = strStuff.Left(pos); strStuff = strStuff.Right( strStuff.GetLength() - pos - strApart.GetLength() ); } else { strItem = strStuff; strStuff = _T(""); } return TRUE; }