Chromium Code Reviews| Index: chrome/browser/webdata/web_intents_table.h |
| diff --git a/chrome/browser/webdata/web_intents_table.h b/chrome/browser/webdata/web_intents_table.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5c6828822619c511dfb2a16932ebb49cba24ef45 |
| --- /dev/null |
| +++ b/chrome/browser/webdata/web_intents_table.h |
| @@ -0,0 +1,57 @@ |
| +// 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_WEBDATA_WEB_INTENTS_TABLE_H_ |
| +#define CHROME_BROWSER_WEBDATA_WEB_INTENTS_TABLE_H_ |
| +#pragma once |
| + |
| +#include "base/string16.h" |
|
James Hawkins
2011/07/26 20:21:53
#include "base/basictypes.h" for DISALLOW_COPY_AND
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| +#include "googleurl/src/gurl.h" |
| +#include "chrome/browser/webdata/web_database_table.h" |
| + |
| +#include <vector> |
| + |
| +// Describes the relevant elements of a WebIntent. |
|
James Hawkins
2011/07/26 20:21:53
Add a TODO noting this should likely be moved once
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| +class WebIntent { |
|
James Hawkins
2011/07/26 20:21:53
Use a struct.
James Hawkins
2011/07/26 20:46:18
s/WebIntent/WebIntentData/
groby-ooo-7-16
2011/07/26 21:38:37
Done.
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + public: |
| + string16 action; |
|
James Hawkins
2011/07/26 20:21:53
Document the members.
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + string16 type; |
| + GURL service_url; |
|
James Hawkins
2011/07/26 20:21:53
Would be nice to align the ordering of the members
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| +}; |
| + |
| +// This class manages the WebIntents tables within the SQLite database passed |
|
James Hawkins
2011/07/26 20:21:53
For now, s/tables/table/.
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| +// to the constructor. It expects the following schema: |
| +// |
| +// web_intents |
| +// service_url URL for service invocation. |
| +// action Name of action provided by the service. |
| +// type MIME type of data accepted by the service. |
| +// |
| +class WebIntentsTable : public WebDatabaseTable { |
| + public: |
| + WebIntentsTable(sql::Connection* db, sql::MetaTable* meta_table) |
| + : WebDatabaseTable(db, meta_table) {} |
|
James Hawkins
2011/07/26 20:21:53
Move implementation to source file, here and elsew
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + virtual ~WebIntentsTable() {} |
| + |
| + virtual bool Init(); |
|
James Hawkins
2011/07/26 20:21:53
// WebDatabaseTable implementation.
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + virtual bool IsSyncable(); |
| + |
| + bool SetWebIntent(const string16& action, |
|
James Hawkins
2011/07/26 20:21:53
Document these methods.
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + const string16& type, |
| + const GURL& service_url); |
| + |
| + bool GetWebIntents(const string16& action, |
| + std::vector<WebIntent>& intents); |
|
James Hawkins
2011/07/26 20:21:53
Hmm, if we're modifying |intents|, this should be
groby-ooo-7-16
2011/07/26 21:38:37
Done.
|
| + |
| + bool RemoveWebIntent(const string16& action, |
| + const string16& type, |
| + const GURL& service_url); |
| + |
| + private: |
| + bool InitWebIntentsTable(); |
| + |
| + DISALLOW_COPY_AND_ASSIGN(WebIntentsTable); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_WEBDATA_WEB_INTENTS_TABLE_H_ |