Beispiel #1
0
bool CSmartServer::InitLogger()
{
	string sLogFileFullName = GetBinaryDir() + g_szLogFileName;
	
	bool bResult = StartLogger(sLogFileFullName);
	return bResult;
}
Beispiel #2
0
bool CSmartServer::LoadConfig()
{
	START_FUNCTION_BOOL();

	CIniSettings *pisIniSettings = GetIniSettings();
	const string sConfigFileName = GetBinaryDir() + g_szConfigFileName;

	pisIniSettings->LoadFromFile(sConfigFileName);

	if (!DoLoadConfig())
	{
		break;
	}
	
	END_FUNCTION_BOOL();
}
Beispiel #3
0
Platform::Platform()
{
  // Init directories.
  string path;
  CHECK(GetBinaryDir(path), ("Can't retrieve path to executable"));

  char const * homePath = ::getenv("HOME");
  string const home(homePath ? homePath : "");

  m_settingsDir = my::JoinFoldersToPath({home, ".config"}, "MapsWithMe");

  if (!IsFileExistsByFullPath(my::JoinFoldersToPath(m_settingsDir, SETTINGS_FILE_NAME)))
  {
    MkDir(my::JoinFoldersToPath(home, ".config"));
    MkDir(m_settingsDir.c_str());
  }

  m_writableDir = my::JoinFoldersToPath({home, ".local", "share"}, "MapsWithMe");
  MkDir(my::JoinFoldersToPath(home, ".local"));
  MkDir(my::JoinFoldersToPath({home, ".local"}, "share"));
  MkDir(m_writableDir);

  char const * resDir = ::getenv("MWM_RESOURCES_DIR");
  if (resDir)
  {
    m_resourcesDir = resDir;
  }
  else
  {
    string const devBuildWithSymlink = my::JoinFoldersToPath({path, "..", ".."}, "data");
    string const devBuildWithoutSymlink =
        my::JoinFoldersToPath({path, "..", "..", "..", "omim"}, "data");
    string const installedVersionWithPackages = my::JoinFoldersToPath({path, ".."}, "share");
    string const installedVersionWithoutPackages =
        my::JoinFoldersToPath({path, ".."}, "MapsWithMe");
    string const customInstall = path;

    if (IsEulaExist(devBuildWithSymlink))
    {
      m_resourcesDir = devBuildWithSymlink;
      m_writableDir = m_resourcesDir;
    }
    else if (IsEulaExist(devBuildWithoutSymlink))
    {
      m_resourcesDir = devBuildWithoutSymlink;
      m_writableDir = m_resourcesDir;
    }
    else if (IsEulaExist(installedVersionWithPackages))
    {
      m_resourcesDir = installedVersionWithPackages;
    }
    else if (IsEulaExist(installedVersionWithoutPackages))
    {
      m_resourcesDir = installedVersionWithoutPackages;
    }
    else if (IsEulaExist(customInstall))
    {
      m_resourcesDir = path;
    }
  }
  m_resourcesDir += '/';
  m_settingsDir += '/';
  m_writableDir += '/';

  char const * tmpDir = ::getenv("TMPDIR");
  if (tmpDir)
    m_tmpDir = tmpDir;
  else
    m_tmpDir = "/tmp";
  m_tmpDir += '/';

  LOG(LDEBUG, ("Resources directory:", m_resourcesDir));
  LOG(LDEBUG, ("Writable directory:", m_writableDir));
  LOG(LDEBUG, ("Tmp directory:", m_tmpDir));
  LOG(LDEBUG, ("Settings directory:", m_settingsDir));
  LOG(LDEBUG, ("Client ID:", UniqueClientId()));
}