本文整理汇总了C++中ExtensionString::c_str方法的典型用法代码示例。如果您正苦于以下问题:C++ ExtensionString::c_str方法的具体用法?C++ ExtensionString::c_str怎么用?C++ ExtensionString::c_str使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExtensionString
的用法示例。
在下文中一共展示了ExtensionString::c_str方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowSaveDialog
int32 ShowSaveDialog(ExtensionString title,
ExtensionString initialDirectory,
ExtensionString proposedNewFilename,
ExtensionString& newFilePath)
{
GtkWidget *openSaveDialog;
openSaveDialog = gtk_file_chooser_dialog_new(title.c_str(),
NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (openSaveDialog), TRUE);
if (!initialDirectory.empty())
{
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (openSaveDialog), proposedNewFilename.c_str());
ExtensionString folderURI = std::string("file:///") + initialDirectory;
gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (openSaveDialog), folderURI.c_str());
}
if (gtk_dialog_run (GTK_DIALOG (openSaveDialog)) == GTK_RESPONSE_ACCEPT)
{
char* filePath;
filePath = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (openSaveDialog));
newFilePath = filePath;
g_free (filePath);
}
gtk_widget_destroy (openSaveDialog);
return NO_ERROR;
}
示例2: Rename
int Rename(ExtensionString oldName, ExtensionString newName)
{
const char *newNameStr = newName.c_str();
if (g_file_test(newNameStr, G_FILE_TEST_EXISTS)) {
return ERR_FILE_EXISTS;
}
if (rename(oldName.c_str(), newNameStr) == -1) {
return ConvertLinuxErrorCode(errno);
}
}
示例3: DeleteFileOrDirectory
int32 DeleteFileOrDirectory(ExtensionString filename)
{
DWORD dwAttr = GetFileAttributes(filename.c_str());
if (dwAttr == INVALID_FILE_ATTRIBUTES)
return ERR_NOT_FOUND;
if ((dwAttr & FILE_ATTRIBUTE_DIRECTORY) != 0)
return ERR_NOT_FILE;
if (!DeleteFile(filename.c_str()))
return ConvertWinErrorCode(GetLastError());
return NO_ERROR;
}
示例4: OpenURLInDefaultBrowser
int32 OpenURLInDefaultBrowser(ExtensionString url)
{
GError* error = NULL;
gtk_show_uri(NULL, url.c_str(), GDK_CURRENT_TIME, &error);
g_error_free(error);
return NO_ERROR;
}
示例5: WriteFile
int32 WriteFile(ExtensionString filename, std::string contents, ExtensionString encoding)
{
const char *filenameStr = filename.c_str();
int error = NO_ERROR;
GError *gerror = NULL;
if (encoding != "utf8") {
return ERR_UNSUPPORTED_ENCODING;
} else if (g_file_test(filenameStr, G_FILE_TEST_EXISTS) && g_access(filenameStr, W_OK) == -1) {
return ERR_CANT_WRITE;
}
FILE* file = fopen(filenameStr, "w");
if (file) {
size_t size = fwrite(contents.c_str(), sizeof(gchar), contents.length(), file);
if (size != contents.length()) {
error = ERR_CANT_WRITE;
}
fclose(file);
} else {
return ConvertLinuxErrorCode(errno);
}
return error;
}
示例6: CopyFile
int32 CopyFile(ExtensionString src, ExtensionString dest)
{
int error = NO_ERROR;
GFile *source = g_file_new_for_path(src.c_str());
GFile *destination = g_file_new_for_path(dest.c_str());
GError *gerror = NULL;
if (!g_file_copy(source, destination, (GFileCopyFlags)(G_FILE_COPY_OVERWRITE|G_FILE_COPY_NOFOLLOW_SYMLINKS|G_FILE_COPY_TARGET_DEFAULT_PERMS), NULL, NULL, NULL, &gerror)) {
error = ConvertGnomeErrorCode(gerror);
g_error_free(gerror);
}
g_object_unref(source);
g_object_unref(destination);
return error;
}
示例7: SetPosixPermissions
int SetPosixPermissions(ExtensionString filename, int32 mode)
{
if (chmod(filename.c_str(),mode) == -1) {
return ConvertLinuxErrorCode(errno);
}
return NO_ERROR;
}
示例8: DeleteFileOrDirectory
int DeleteFileOrDirectory(ExtensionString filename)
{
GFile *file = g_file_new_for_path(filename.c_str());
int error = _doDeleteFileOrDirectory(file);
g_object_unref(file);
return error;
}
示例9: GetFileModificationTime
int32 GetFileModificationTime(ExtensionString filename, uint32& modtime, bool& isDir)
{
DWORD dwAttr = GetFileAttributes(filename.c_str());
if (dwAttr == INVALID_FILE_ATTRIBUTES) {
return ConvertWinErrorCode(GetLastError());
}
isDir = ((dwAttr & FILE_ATTRIBUTE_DIRECTORY) != 0);
WIN32_FILE_ATTRIBUTE_DATA fad;
if (!GetFileAttributesEx(filename.c_str(), GetFileExInfoStandard, &fad)) {
return ConvertWinErrorCode(GetLastError());
}
modtime = FiletimeToTime(fad.ftLastWriteTime);
return NO_ERROR;
}
示例10: SetPosixPermissions
int32 SetPosixPermissions(ExtensionString filename, int32 mode)
{
DWORD dwAttr = GetFileAttributes(filename.c_str());
if (dwAttr == INVALID_FILE_ATTRIBUTES)
return ERR_NOT_FOUND;
if ((dwAttr & FILE_ATTRIBUTE_DIRECTORY) != 0)
return NO_ERROR;
bool write = (mode & 0200) != 0;
bool read = (mode & 0400) != 0;
int mask = (write ? _S_IWRITE : 0) | (read ? _S_IREAD : 0);
if (_wchmod(filename.c_str(), mask) == -1) {
return ConvertErrnoCode(errno);
}
return NO_ERROR;
}
示例11: OpenURLInDefaultBrowser
int32 OpenURLInDefaultBrowser(ExtensionString url)
{
DWORD result = (DWORD)ShellExecute(NULL, L"open", url.c_str(), NULL, NULL, SW_SHOWNORMAL);
// If the result > 32, the function suceeded. If the result is <= 32, it is an
// error code.
if (result <= 32)
return ConvertWinErrorCode(result);
return NO_ERROR;
}
示例12: AddMenuItem
int32 AddMenuItem(CefRefPtr<CefBrowser> browser, ExtensionString parentCommand, ExtensionString itemTitle,
ExtensionString command, ExtensionString key, ExtensionString displayStr,
ExtensionString position, ExtensionString relativeId)
{
GtkWidget* entry = gtk_menu_item_new_with_label(itemTitle.c_str());
g_signal_connect(entry, "activate", FakeCallback, NULL);
// FIXME add lookup for menu widgets
gtk_menu_shell_append(GTK_MENU_SHELL(_menuWidget), entry);
gtk_widget_show(entry);
return NO_ERROR;
}
示例13: ReadFile
int32 ReadFile(ExtensionString filename, ExtensionString encoding, std::string& contents)
{
if (encoding != L"utf8")
return ERR_UNSUPPORTED_ENCODING;
DWORD dwAttr;
dwAttr = GetFileAttributes(filename.c_str());
if (INVALID_FILE_ATTRIBUTES == dwAttr)
return ConvertWinErrorCode(GetLastError());
if (dwAttr & FILE_ATTRIBUTE_DIRECTORY)
return ERR_CANT_READ;
HANDLE hFile = CreateFile(filename.c_str(), GENERIC_READ,
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
int32 error = NO_ERROR;
if (INVALID_HANDLE_VALUE == hFile)
return ConvertWinErrorCode(GetLastError());
DWORD dwFileSize = GetFileSize(hFile, NULL);
DWORD dwBytesRead;
char* buffer = (char*)malloc(dwFileSize);
if (buffer && ReadFile(hFile, buffer, dwFileSize, &dwBytesRead, NULL)) {
contents = std::string(buffer, dwFileSize);
}
else {
if (!buffer)
error = ERR_UNKNOWN;
else
error = ConvertWinErrorCode(GetLastError());
}
CloseHandle(hFile);
if (buffer)
free(buffer);
return error;
}
示例14: MoveFileOrDirectoryToTrash
void MoveFileOrDirectoryToTrash(ExtensionString filename, CefRefPtr<CefBrowser> browser, CefRefPtr<CefProcessMessage> response)
{
int error = NO_ERROR;
GFile *file = g_file_new_for_path(filename.c_str());
GError *gerror = NULL;
if (!g_file_trash(file, NULL, &gerror)) {
error = ConvertGnomeErrorCode(gerror);
g_error_free(gerror);
}
g_object_unref(file);
response->GetArgumentList()->SetInt(1, error);
browser->SendProcessMessage(PID_RENDERER, response);
}
示例15: OpenLiveBrowser
int32 OpenLiveBrowser(ExtensionString argURL, bool enableRemoteDebugging)
{
const char *remoteDebuggingFormat = "--no-first-run --no-default-browser-check --allow-file-access-from-files --temp-profile --user-data-dir=%s --remote-debugging-port=9222";
gchar *remoteDebugging;
gchar *cmdline;
int error = ERR_BROWSER_NOT_INSTALLED;
GError *gerror = NULL;
if (enableRemoteDebugging) {
CefString appSupportDirectory = ClientApp::AppGetSupportDirectory();
// TODO: (INGO) to better understand to string conversion issue, I need a consultant
// here. Getting the char* from CefString I had to call ToString().c_str()
// Calling only c_str() didn't return anything.
gchar *userDataDir = g_strdup_printf("%s/live-dev-profile",
appSupportDirectory.ToString().c_str());
g_message("USERDATADIR= %s", userDataDir);
remoteDebugging = g_strdup_printf(remoteDebuggingFormat, userDataDir);
g_free(userDataDir);
} else {
remoteDebugging = g_strdup("");
}
// check for supported browsers (in PATH directories)
for (size_t i = 0; i < sizeof(browsers) / sizeof(browsers[0]); i++) {
cmdline = g_strdup_printf("%s %s %s", browsers[i].c_str(), argURL.c_str(), remoteDebugging);
if (g_spawn_command_line_async(cmdline, &gerror)) {
// browser is found in os; stop iterating
error = NO_ERROR;
} else {
error = ConvertGnomeErrorCode(gerror);
}
g_free(cmdline);
if (error == NO_ERROR) {
break;
} else {
g_error_free(gerror);
gerror = NULL;
}
}
g_free(remoteDebugging);
return error;
}