Ejemplo n.º 1
0
UnicodeString Logfile::getFilename(const UnicodeString& logfileName)
{
    auto logsDirectory = UnicodeString::Period;

#ifdef WINDOWS

    // On Windows logfiles are put into the current user's AppData/Roaming/<client name> directory
    auto path = PWSTR();
    SHGetKnownFolderPath(FOLDERID_RoamingAppData, 0, nullptr, &path);
    logsDirectory = FileSystem::joinPaths(fromUTF16(path), Globals::getClientName());
    CoTaskMemFree(path);

#elif defined(LINUX)

    // On Linux logfiles are put into the ~/.<client name> directory
    logsDirectory = FileSystem::joinPaths(FileSystem::getHomeDirectory(), String::Period + Globals::getClientName());

#elif defined(APPLE)

    // Put logfiles under ~/Library/Logs
    logsDirectory = FileSystem::joinPaths(FileSystem::getUserLibraryDirectory(), "Logs");

#ifdef MACOS
    logsDirectory = FileSystem::joinPaths(logsDirectory, Globals::getClientName());
#endif

#endif

    return FileSystem::joinPaths(logsDirectory, logfileName + ".html");
}
Ejemplo n.º 2
0
bool SaveToFile(
    __in        IVssCreateExpressWriterMetadata *pMetadata,
    __in        PCWSTR                          wszFileName
)
{
    HRESULT     hr          = S_OK;
    bool        bResult     = false;
    CComBSTR    bstr;

    CHECK_HR(pMetadata->SaveAsXML(&bstr), L"SaveAsXML failed");

    CHECK_CONDITION(SaveToFile(PWSTR(bstr), wszFileName), L"SaveToFile failed\n");

    bResult = true;

_exit:
    return bResult;
}