summaryrefslogtreecommitdiff
path: root/wpd/WpdServiceSampleDriver/FakeStorage.h
diff options
context:
space:
mode:
authorDave Wilson <[email protected]>2015-03-17 19:50:07 -0700
committerDave Wilson <[email protected]>2015-03-17 19:50:07 -0700
commit97cf5197cf5b882b2c689d8dc2b555f2edf8f418 (patch)
tree46f3701832d70b420eb0fc0eb93261f9da45db3f /wpd/WpdServiceSampleDriver/FakeStorage.h
parentef1905bf1e8825bb31120dfb27e0daf3154d859a (diff)
Initial publish
Diffstat (limited to 'wpd/WpdServiceSampleDriver/FakeStorage.h')
-rw-r--r--wpd/WpdServiceSampleDriver/FakeStorage.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/wpd/WpdServiceSampleDriver/FakeStorage.h b/wpd/WpdServiceSampleDriver/FakeStorage.h
new file mode 100644
index 00000000..bb83d683
--- /dev/null
+++ b/wpd/WpdServiceSampleDriver/FakeStorage.h
@@ -0,0 +1,76 @@
+#pragma once
+
+/**
+ * This class represents an abstraction of a storage content object.
+ * Driver implementors should replace this with their own
+ * device I/O classes/libraries.
+ */
+
+#define STORAGE_OBJECT_ID L"123ABC"
+#define STORAGE_CAPACITY_VALUE 1024 * 1024
+#define STORAGE_FREE_SPACE_IN_BYTES_VALUE STORAGE_CAPACITY_VALUE
+#define STORAGE_SERIAL_NUMBER_VALUE L"98765432109876-54321098765432"
+#define STORAGE_OBJECT_NAME_VALUE L"Internal Memory"
+#define STORAGE_FILE_SYSTEM_TYPE_VALUE L"FAT32"
+#define STORAGE_DESCRIPTION_VALUE L"Phone Memory Storage System"
+#define STORAGE_CONTAINER_FUNCTIONAL_OBJECT_ID WPD_DEVICE_OBJECT_ID
+#define STORAGE_TYPE WPD_STORAGE_TYPE_FIXED_ROM
+
+class FakeStorage : public FakeContent
+{
+public:
+ FakeStorage()
+ {
+ ObjectID = STORAGE_OBJECT_ID;
+ PersistentUniqueID = STORAGE_OBJECT_ID;
+ ParentID = WPD_DEVICE_OBJECT_ID;
+ Name = STORAGE_OBJECT_NAME_VALUE;
+ ContentType = WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT;
+ Format = WPD_OBJECT_FORMAT_UNSPECIFIED;
+ FunctionalCategory = WPD_FUNCTIONAL_CATEGORY_STORAGE;
+ ContainerFunctionalObjectID = WPD_DEVICE_OBJECT_ID;
+ ParentPersistentUniqueID = WPD_DEVICE_OBJECT_ID;
+
+ Description = STORAGE_DESCRIPTION_VALUE;
+ Capacity = STORAGE_CAPACITY_VALUE;
+ FreeSpace = STORAGE_CAPACITY_VALUE;
+ SerialNumber = STORAGE_SERIAL_NUMBER_VALUE;
+ FileSystemType = STORAGE_FILE_SYSTEM_TYPE_VALUE;
+ StorageType = STORAGE_TYPE;
+ }
+
+ FakeStorage(const FakeContent& src)
+ {
+ *this = src;
+ }
+
+ virtual ~FakeStorage()
+ {
+ }
+
+ virtual HRESULT GetSupportedProperties(
+ _In_ IPortableDeviceKeyCollection* pKeys);
+
+ virtual HRESULT GetValue(
+ _In_ REFPROPERTYKEY Key,
+ _In_ IPortableDeviceValues* pStore);
+
+ virtual HRESULT WriteValue(
+ _In_ REFPROPERTYKEY Key,
+ _In_ REFPROPVARIANT Value);
+
+ virtual HRESULT GetPropertyAttributes(
+ _In_ REFPROPERTYKEY Key,
+ _In_ IPortableDeviceValues* pAttributes);
+
+public:
+ // Standard WPD properties
+ CAtlStringW Description;
+ CAtlStringW SerialNumber;
+ CAtlStringW FileSystemType;
+
+ GUID FunctionalCategory;
+ ULONGLONG FreeSpace;
+ ULONGLONG Capacity;
+ DWORD StorageType;
+};