diff options
| author | Remko Tronçon <git@el-tramo.be> | 2011-04-19 16:47:01 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2011-04-26 18:38:51 (GMT) | 
| commit | 37de16e21bf73d1dea16343f04d061d3cb389acf (patch) | |
| tree | 2a618ae3ca054af895f1b515fe58825de938d3fe | |
| parent | 37567ebaa72cfc26e6cf49179eb988594c488c4b (diff) | |
| download | swift-37de16e21bf73d1dea16343f04d061d3cb389acf.zip swift-37de16e21bf73d1dea16343f04d061d3cb389acf.tar.bz2 | |
Added CertificateMemoryStorage.
| -rw-r--r-- | BuildTools/SCons/SConstruct | 2 | ||||
| -rw-r--r-- | SwifTools/Idle/PlatformIdleQuerier.cpp | 4 | ||||
| -rw-r--r-- | Swift/Controllers/CertificateMemoryStorageFactory.h | 28 | ||||
| -rw-r--r-- | Swift/Controllers/SConscript | 1 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/CertificateMemoryStorage.cpp | 27 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/CertificateMemoryStorage.h | 25 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/MemoryStoragesFactory.h | 2 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/StoragesFactory.h | 1 | 
8 files changed, 87 insertions, 3 deletions
| diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 5ecb8cb..2d9d200 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -255,7 +255,7 @@ if target in ["iphone-device", "iphone-simulator", "xcode"] :  	env["CXX"] = "$XCODE_PLATFORM_DEVELOPER_BIN_DIR/g++"  	env["OBJCCFLAGS"] = ["-fobjc-abi-version=2", "-fobjc-legacy-dispatch"]  	env["LD"] = env["CC"] -	env.Append(CCFLAGS = env["XCODE_ARCH_FLAGS"]) +	env.Append(CCFLAGS = env["XCODE_ARCH_FLAGS"] + ["-fvisibility=hidden"])  	env.Append(LINKFLAGS = env["XCODE_ARCH_FLAGS"])  	env.Append(CPPFLAGS = ["-isysroot", "$XCODE_SDKROOT"])  	env.Append(FRAMEWORKS = ["CoreFoundation", "Foundation", "UIKit", "CoreGraphics"]) diff --git a/SwifTools/Idle/PlatformIdleQuerier.cpp b/SwifTools/Idle/PlatformIdleQuerier.cpp index a28e701..6735348 100644 --- a/SwifTools/Idle/PlatformIdleQuerier.cpp +++ b/SwifTools/Idle/PlatformIdleQuerier.cpp @@ -7,7 +7,7 @@  #include "SwifTools/Idle/PlatformIdleQuerier.h"  #include "Swiften/Base/Platform.h" -#if defined(SWIFTEN_PLATFORM_MACOSX) && defined(HAVE_IOKIT) +#if defined(SWIFTEN_PLATFORM_MACOSX) && defined(HAVE_IOKIT) && !defined(SWIFTEN_PLATFORM_IPHONE)  #include "SwifTools/Idle/MacOSXIdleQuerier.h"  #elif defined(SWIFTEN_PLATFORM_WINDOWS)  #include "SwifTools/Idle/WindowsIdleQuerier.h" @@ -23,7 +23,7 @@ namespace Swift {  PlatformIdleQuerier::PlatformIdleQuerier() : querier(NULL) {  #if defined(SWIFTEN_PLATFORM_MACOSX) -#if defined(HAVE_IOKIT) +#if defined(HAVE_IOKIT) && !defined(SWIFTEN_PLATFORM_IPHONE)  	querier = new MacOSXIdleQuerier();  #else  	querier = new DummyIdleQuerier(); diff --git a/Swift/Controllers/CertificateMemoryStorageFactory.h b/Swift/Controllers/CertificateMemoryStorageFactory.h new file mode 100644 index 0000000..adbce80 --- /dev/null +++ b/Swift/Controllers/CertificateMemoryStorageFactory.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2011 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <Swift/Controllers/Storages/CertificateStorageFactory.h> +#include <Swift/Controllers/Storages/CertificateMemoryStorage.h> + +namespace Swift { +	class CertificateFactory; + +	class CertificateMemoryStorageFactory : public CertificateStorageFactory { +		public: +			CertificateMemoryStorageFactory() { +			} + +			virtual CertificateStorage* createCertificateStorage(const JID&) const { +				return new CertificateMemoryStorage(); +			} + +		private: +			boost::filesystem::path basePath; +			CertificateFactory* certificateFactory; +	}; +} diff --git a/Swift/Controllers/SConscript b/Swift/Controllers/SConscript index 5b55892..eed1f4d 100644 --- a/Swift/Controllers/SConscript +++ b/Swift/Controllers/SConscript @@ -53,6 +53,7 @@ if env["SCONS_STAGE"] == "build" :  			"Storages/CertificateStorageFactory.cpp",  			"Storages/CertificateStorage.cpp",  			"Storages/CertificateFileStorage.cpp", +			"Storages/CertificateMemoryStorage.cpp",  			"Storages/AvatarFileStorage.cpp",  			"Storages/FileStorages.cpp",  			"Storages/RosterFileStorage.cpp", diff --git a/Swift/Controllers/Storages/CertificateMemoryStorage.cpp b/Swift/Controllers/Storages/CertificateMemoryStorage.cpp new file mode 100644 index 0000000..71d7c4a --- /dev/null +++ b/Swift/Controllers/Storages/CertificateMemoryStorage.cpp @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2011 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <Swift/Controllers/Storages/CertificateMemoryStorage.h> + +#include <Swiften/Base/foreach.h> + +using namespace Swift; + +CertificateMemoryStorage::CertificateMemoryStorage() { +} + +bool CertificateMemoryStorage::hasCertificate(Certificate::ref certificate) const { +	foreach(Certificate::ref storedCert, certificates) { +		if (storedCert->toDER() == certificate->toDER()) { +			return true; +		} +	} +	return false; +} + +void CertificateMemoryStorage::addCertificate(Certificate::ref certificate) { +	certificates.push_back(certificate); +} diff --git a/Swift/Controllers/Storages/CertificateMemoryStorage.h b/Swift/Controllers/Storages/CertificateMemoryStorage.h new file mode 100644 index 0000000..5c0333d --- /dev/null +++ b/Swift/Controllers/Storages/CertificateMemoryStorage.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2011 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <vector> + +#include <Swift/Controllers/Storages/CertificateStorage.h> + +namespace Swift { +	class CertificateMemoryStorage : public CertificateStorage { +		public: +			CertificateMemoryStorage(); + +			virtual bool hasCertificate(Certificate::ref certificate) const; +			virtual void addCertificate(Certificate::ref certificate); + +		private: +			std::vector<Certificate::ref> certificates; +	}; + +} diff --git a/Swift/Controllers/Storages/MemoryStoragesFactory.h b/Swift/Controllers/Storages/MemoryStoragesFactory.h index 6648bcd..0dea349 100644 --- a/Swift/Controllers/Storages/MemoryStoragesFactory.h +++ b/Swift/Controllers/Storages/MemoryStoragesFactory.h @@ -10,6 +10,8 @@  #include "Swiften/Client/MemoryStorages.h"  namespace Swift { +	class JID; +	  	class MemoryStoragesFactory : public StoragesFactory {  		public:  			MemoryStoragesFactory() {} diff --git a/Swift/Controllers/Storages/StoragesFactory.h b/Swift/Controllers/Storages/StoragesFactory.h index 441a4e9..203f9c9 100644 --- a/Swift/Controllers/Storages/StoragesFactory.h +++ b/Swift/Controllers/Storages/StoragesFactory.h @@ -8,6 +8,7 @@  namespace Swift {  	class Storages; +	class JID;  	class StoragesFactory {  		public: | 
 Swift
 Swift