mirror of
https://github.com/mozilla-firefox/firefox
synced 2026-08-10 11:48:50 +00:00
67 lines
1.9 KiB
C++
67 lines
1.9 KiB
C++
/* 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 mozilla_RegistryMessageUtils_h
|
|
#define mozilla_RegistryMessageUtils_h
|
|
|
|
#include "ipc/IPCMessageUtilsSpecializations.h"
|
|
#include "nsString.h"
|
|
|
|
struct SerializedURI {
|
|
nsCString spec;
|
|
|
|
bool operator==(const SerializedURI& rhs) const {
|
|
return spec.Equals(rhs.spec);
|
|
}
|
|
};
|
|
|
|
struct ChromePackage {
|
|
nsCString package;
|
|
SerializedURI contentBaseURI;
|
|
SerializedURI localeBaseURI;
|
|
SerializedURI skinBaseURI;
|
|
uint32_t flags;
|
|
|
|
bool operator==(const ChromePackage& rhs) const {
|
|
return package.Equals(rhs.package) &&
|
|
contentBaseURI == rhs.contentBaseURI &&
|
|
localeBaseURI == rhs.localeBaseURI &&
|
|
skinBaseURI == rhs.skinBaseURI && flags == rhs.flags;
|
|
}
|
|
};
|
|
|
|
struct SubstitutionMapping {
|
|
nsCString scheme;
|
|
nsCString path;
|
|
SerializedURI resolvedURI;
|
|
uint32_t flags;
|
|
|
|
bool operator==(const SubstitutionMapping& rhs) const {
|
|
return scheme.Equals(rhs.scheme) && path.Equals(rhs.path) &&
|
|
resolvedURI == rhs.resolvedURI && flags == rhs.flags;
|
|
}
|
|
};
|
|
|
|
struct OverrideMapping {
|
|
SerializedURI originalURI;
|
|
SerializedURI overrideURI;
|
|
|
|
bool operator==(const OverrideMapping& rhs) const {
|
|
return originalURI == rhs.originalURI && overrideURI == rhs.overrideURI;
|
|
}
|
|
};
|
|
|
|
namespace IPC {
|
|
|
|
DEFINE_IPC_SERIALIZER_WITH_FIELDS(SerializedURI, spec);
|
|
DEFINE_IPC_SERIALIZER_WITH_FIELDS(ChromePackage, package, contentBaseURI,
|
|
localeBaseURI, skinBaseURI, flags);
|
|
DEFINE_IPC_SERIALIZER_WITH_FIELDS(SubstitutionMapping, scheme, path,
|
|
resolvedURI, flags);
|
|
DEFINE_IPC_SERIALIZER_WITH_FIELDS(OverrideMapping, originalURI, overrideURI);
|
|
|
|
} // namespace IPC
|
|
|
|
#endif // RegistryMessageUtils_h
|