From d820619d1a0cde53e4484a14bf6e43d2392f2560 Mon Sep 17 00:00:00 2001 From: "thesteve%netscape.com" Date: Sat, 18 Aug 2001 00:54:03 +0000 Subject: [PATCH] Bug #81373: landing the mac static build: making security a meta-component. This new file is Mac ONLY. Furthermore, it is specific to the mac static build, and CAN NOT break the existing mac builds. --- .../staticmod/macbuild/cryptoComponent.mcp | Bin 0 -> 114058 bytes .../macbuild/nsMetaModule_crypto.cpp | 163 ++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 modules/staticmod/macbuild/cryptoComponent.mcp create mode 100644 modules/staticmod/macbuild/nsMetaModule_crypto.cpp diff --git a/modules/staticmod/macbuild/cryptoComponent.mcp b/modules/staticmod/macbuild/cryptoComponent.mcp new file mode 100644 index 0000000000000000000000000000000000000000..bd183fde25f19b7799549a080dfbdff46e0e631b GIT binary patch literal 114058 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 dR{o_g!F9irZ-wt` + * Doug Turner + */ + +#include "nsError.h" +#include "nsIModule.h" +#include "nsIFile.h" +#include "nsIGenericFactory.h" +#include "prmem.h" + +#define META_DESTRUCTOR_FUNC MetaModuleDestructorCrypto + +#define NS_METAMODULE_NAME "nsMetaModuleCrypto" +#define NS_METAMODULE_DESC "Meta Component Crypto" +#define NS_METAMODULE_CID \ +{ 0xcccc3240, 0x1dd1, 0x11b2, { 0xb2, 0x11, 0xc0, 0x85, 0x1f, 0xe2, 0xa6, 0xf6 } } +#define NS_METAMODULE_CONTRACTID "@mozilla.org/metamodule_crypto;1" + + +/* + * NO USER EDITABLE PORTIONS AFTER THIS POINT + * + */ + +#define REGISTER_MODULE_USING(mod) { \ + nsCOMPtr module; \ + mod##(aCompMgr, aPath, getter_AddRefs(module)); \ + module->RegisterSelf(aCompMgr, aPath, aRegistryLocation, aComponentType); \ +} + +struct nsModuleComponentInfoContainer { + nsModuleComponentInfo *list; + PRUint32 count; +}; + +extern "C" nsresult PKI_NSGetModule(nsIComponentManager *servMgr, nsIFile* aPath, nsIModule** return_cobj); +extern nsModuleComponentInfo* PKI_NSGM_comps; extern PRUint32 PKI_NSGM_comp_count; +extern "C" nsresult NSS_NSGetModule(nsIComponentManager *servMgr, nsIFile* aPath, nsIModule** return_cobj); +extern nsModuleComponentInfo* NSS_NSGM_comps; extern PRUint32 NSS_NSGM_comp_count; + +static nsresult +NS_RegisterMetaModules(nsIComponentManager *aCompMgr, + nsIFile *aPath, + const char *aRegistryLocation, + const char *aComponentType) +{ + nsresult rv = NS_OK; + + REGISTER_MODULE_USING(PKI_NSGetModule); + REGISTER_MODULE_USING(NSS_NSGetModule); + + {}; + + return rv; +} + +void META_DESTRUCTOR_FUNC(nsIModule *self, nsModuleComponentInfo *components) +{ + PR_Free(components); +} + + +class nsMetaModuleImpl : public nsISupports +{ +public: + nsMetaModuleImpl(); + virtual ~nsMetaModuleImpl(); + NS_DECL_ISUPPORTS +}; + +nsMetaModuleImpl::nsMetaModuleImpl() +{ + NS_INIT_REFCNT(); +} + +nsMetaModuleImpl::~nsMetaModuleImpl() +{ +} + +NS_IMPL_ISUPPORTS1(nsMetaModuleImpl, nsISupports); + +NS_GENERIC_FACTORY_CONSTRUCTOR(nsMetaModuleImpl) + +static NS_METHOD nsMetaModuleRegistrationProc(nsIComponentManager *aCompMgr, + nsIFile *aPath, + const char *registryLocation, + const char *componentType, + const nsModuleComponentInfo *info) +{ + NS_RegisterMetaModules(aCompMgr, aPath, registryLocation, componentType); + return NS_OK; +} + +static NS_METHOD nsMetaModuleUnregistrationProc(nsIComponentManager *aCompMgr, + nsIFile *aPath, + const char *registryLocation, + const nsModuleComponentInfo *info) +{ + return NS_OK; +} + + +static nsModuleComponentInfo components[] = +{ + { NS_METAMODULE_DESC, + NS_METAMODULE_CID, + NS_METAMODULE_CONTRACTID, + nsMetaModuleImplConstructor, + nsMetaModuleRegistrationProc, + nsMetaModuleUnregistrationProc + }, +}; + +static nsModuleComponentInfoContainer componentsList[] = { + { components, sizeof(components)/sizeof(components[0]) }, + { PKI_NSGM_comps, PKI_NSGM_comp_count }, + { NSS_NSGM_comps, NSS_NSGM_comp_count }, + { nsnull, 0 } +}; + +extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *servMgr, + nsIFile* location, + nsIModule** result) +{ + nsModuleComponentInfo *outList = nsnull; + nsModuleComponentInfoContainer *inList = componentsList; + PRUint32 count = 0, i = 0, k=0, msize = sizeof(nsModuleComponentInfo); + + while (inList[i].list != nsnull) { + count += inList[i].count; + i++; + } + + outList = (nsModuleComponentInfo *) PR_Calloc(count, sizeof(nsModuleComponentInfo)); + + i = 0; k =0; + while (inList[i].list != nsnull) { + memcpy(&outList[k], inList[i].list, msize * inList[i].count); + k+= inList[i].count; + i++; + } + return NS_NewGenericModule(NS_METAMODULE_NAME, count, outList, nsnull, result); +}