Chromium Code Reviews| Index: chrome/browser/extensions/api/system_info_storage/storage_info_provider.h |
| diff --git a/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h b/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c10635c67886b4068efd701140ce529f2b8edfa4 |
| --- /dev/null |
| +++ b/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h |
| @@ -0,0 +1,39 @@ |
| +// Copyright (c) 2012 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_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_ |
| +#define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_ |
| + |
| +#include "chrome/common/extensions/api/experimental_system_info_storage.h" |
| + |
| +namespace extensions { |
| +namespace systeminfo { |
| +// TODO(hmin): here the storage type is declared with string type due to the IDL |
| +// doesn't support enum type yet. Once http://crbug.com/141940 is fixed, we could |
|
Mihai Parparita -not on Chrome
2012/08/14 00:07:31
> 80 chars
Hongbo Min
2012/08/14 01:37:23
Done.
|
| +// reuse enum values generated by IDL compiler. |
| + |
| +// Unknown storage type. |
| +extern const char kStorageTypeUnknown[]; |
| +// Hard disk. |
| +extern const char kStorageTypeHardDisk[]; |
| +// Removable storage, e.g. USB device, flash card reader. |
| +extern const char kStorageTypeRemovable[]; |
| +} // namespace systeminfo |
| + |
| +// An interface for retrieving storage information on different platforms. |
| +class StorageInfoProvider { |
| + public: |
| + // Return a StorageInfoProvider instance. The caller is responsible for |
| + // destroying it. |
| + static StorageInfoProvider* Create(); |
| + |
| + virtual ~StorageInfoProvider() {} |
| + |
| + // Return true if succeed to get storage information, other return fasle. |
| + // Should be implemented on different platforms. |
| + virtual bool GetStorageInfo( |
| + api::experimental_system_info_storage::StorageInfo* info) = 0; |
| +}; |
| +} // namespace extensions |
| + |
| +#endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_ |