summaryrefslogtreecommitdiffstats
path: root/storage/build
diff options
context:
space:
mode:
Diffstat (limited to 'storage/build')
-rw-r--r--storage/build/moz.build21
-rw-r--r--storage/build/mozStorageCID.h30
-rw-r--r--storage/build/mozStorageModule.cpp53
3 files changed, 104 insertions, 0 deletions
diff --git a/storage/build/moz.build b/storage/build/moz.build
new file mode 100644
index 000000000..284cd7e3f
--- /dev/null
+++ b/storage/build/moz.build
@@ -0,0 +1,21 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+EXPORTS += [
+ 'mozStorageCID.h',
+]
+
+SOURCES += [
+ 'mozStorageModule.cpp',
+]
+
+FINAL_LIBRARY = 'xul'
+
+LOCAL_INCLUDES += [
+ '..',
+]
+
+CXXFLAGS += CONFIG['SQLITE_CFLAGS']
diff --git a/storage/build/mozStorageCID.h b/storage/build/mozStorageCID.h
new file mode 100644
index 000000000..c682d07dd
--- /dev/null
+++ b/storage/build/mozStorageCID.h
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef MOZSTORAGECID_H
+#define MOZSTORAGECID_H
+
+#define MOZ_STORAGE_CONTRACTID_PREFIX "@mozilla.org/storage"
+
+
+/* b71a1f84-3a70-4d37-a348-f1ba0e27eead */
+#define MOZ_STORAGE_CONNECTION_CID \
+{ 0xb71a1f84, 0x3a70, 0x4d37, {0xa3, 0x48, 0xf1, 0xba, 0x0e, 0x27, 0xee, 0xad} }
+
+#define MOZ_STORAGE_CONNECTION_CONTRACTID MOZ_STORAGE_CONTRACTID_PREFIX "/connection;1"
+
+/* bbbb1d61-438f-4436-92ed-8308e5830fb0 */
+#define MOZ_STORAGE_SERVICE_CID \
+{ 0xbbbb1d61, 0x438f, 0x4436, {0x92, 0xed, 0x83, 0x08, 0xe5, 0x83, 0x0f, 0xb0} }
+
+#define MOZ_STORAGE_SERVICE_CONTRACTID MOZ_STORAGE_CONTRACTID_PREFIX "/service;1"
+
+/* 3b667ee0-d2da-4ccc-9c3d-95f2ca6a8b4c */
+#define VACUUMMANAGER_CID \
+{ 0x3b667ee0, 0xd2da, 0x4ccc, { 0x9c, 0x3d, 0x95, 0xf2, 0xca, 0x6a, 0x8b, 0x4c } }
+
+#define VACUUMMANAGER_CONTRACTID MOZ_STORAGE_CONTRACTID_PREFIX "/vacuum;1"
+
+#endif /* MOZSTORAGECID_H */
diff --git a/storage/build/mozStorageModule.cpp b/storage/build/mozStorageModule.cpp
new file mode 100644
index 000000000..ba77e4c62
--- /dev/null
+++ b/storage/build/mozStorageModule.cpp
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsCOMPtr.h"
+#include "mozilla/ModuleUtils.h"
+
+#include "mozStorageService.h"
+#include "mozStorageConnection.h"
+#include "VacuumManager.h"
+
+#include "mozStorageCID.h"
+
+namespace mozilla {
+namespace storage {
+
+NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(Service,
+ Service::getSingleton)
+NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(VacuumManager,
+ VacuumManager::getSingleton)
+
+} // namespace storage
+} // namespace mozilla
+
+NS_DEFINE_NAMED_CID(MOZ_STORAGE_SERVICE_CID);
+NS_DEFINE_NAMED_CID(VACUUMMANAGER_CID);
+
+static const mozilla::Module::CIDEntry kStorageCIDs[] = {
+ { &kMOZ_STORAGE_SERVICE_CID, false, nullptr, mozilla::storage::ServiceConstructor },
+ { &kVACUUMMANAGER_CID, false, nullptr, mozilla::storage::VacuumManagerConstructor },
+ { nullptr }
+};
+
+static const mozilla::Module::ContractIDEntry kStorageContracts[] = {
+ { MOZ_STORAGE_SERVICE_CONTRACTID, &kMOZ_STORAGE_SERVICE_CID },
+ { VACUUMMANAGER_CONTRACTID, &kVACUUMMANAGER_CID },
+ { nullptr }
+};
+
+static const mozilla::Module::CategoryEntry kStorageCategories[] = {
+ { "idle-daily", "MozStorage Vacuum Manager", VACUUMMANAGER_CONTRACTID },
+ { nullptr }
+};
+
+static const mozilla::Module kStorageModule = {
+ mozilla::Module::kVersion,
+ kStorageCIDs,
+ kStorageContracts,
+ kStorageCategories
+};
+
+NSMODULE_DEFN(mozStorageModule) = &kStorageModule;