Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: chrome/browser/password_manager/keyring_proxy/keyring_proxy.h

Issue 8509038: Linux: split GNOME Keyring integration into a separate process. Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: merge Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/password_manager/keyring_proxy/keyring_proxy.h
===================================================================
--- chrome/browser/password_manager/keyring_proxy/keyring_proxy.h (revision 0)
+++ chrome/browser/password_manager/keyring_proxy/keyring_proxy.h (revision 0)
@@ -0,0 +1,55 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_PASSWORD_MANAGER_KEYRING_PROXY_KEYRING_PROXY_H_
+#define CHROME_BROWSER_PASSWORD_MANAGER_KEYRING_PROXY_KEYRING_PROXY_H_
+#pragma once
+
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/password_manager/keyring_proxy/gnome_keyring_loader.h"
+#include "chrome/browser/password_manager/keyring_proxy/message_reader.h"
+
+// Forward declarations of GLib stuff.
+typedef struct _GMainLoop GMainLoop;
+typedef struct _GSource GSource;
+
+namespace keyring_proxy {
+
+class MessageProcessor;
+
+class KeyringProxy : public GnomeKeyringLoader {
+ public:
+ // These are the command characters in the wire protocol for communicating
+ // with the keyring proxy.
+ static const char kAddLoginCommand = 'A';
+ static const char kRemoveLoginCommand = 'R';
+ static const char kAddLoginSearchCommand = 'a';
+ static const char kUpdateLoginSearchCommand = 'u';
+ static const char kGetLoginsCommand = 'g';
+ static const char kGetLoginsListCommand = 'l';
+ static const char kGetAllLoginsCommand = '*';
+
+ KeyringProxy(int fd, FILE* output);
+
+ ~KeyringProxy();
+
+ bool Init();
+ void Run();
+ void Stop();
+
+ private:
+ void ReadData();
+
+ static gboolean DataReady(gpointer data);
+
+ int fd_;
+ GMainLoop* main_loop_;
+ GSource* input_;
+ MessageReader reader_;
+ scoped_ptr<MessageProcessor> processor_;
+};
+
+} // namespace keyring_proxy
+
+#endif // CHROME_BROWSER_PASSWORD_MANAGER_KEYRING_PROXY_KEYRING_PROXY_H_
Property changes on: chrome/browser/password_manager/keyring_proxy/keyring_proxy.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698