Daniele Bartolini 12 лет назад
Родитель
Сommit
3b3f31cca8

+ 37 - 8
src/core/compressors/Compressor.h

@@ -1,3 +1,28 @@
+/*
+Copyright (c) 2012 Daniele Bartolini, Simone Boscaratto
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+*/
+
 #pragma once
 
 #include "Types.h"
@@ -10,9 +35,18 @@ class Compressor
 {
 public:
 						Compressor(Allocator& allocator);
-	virtual 			~Compressor();	
+	virtual 			~Compressor() {}
 
+	/// Compresses the data pointed by @data of size @in_size (in bytes) and returns it.
+	/// The function also returns the size in bytes of the compressed data in @out_size.
+	/// @note
+	/// The returned data is automatically allocated using the passed allocator.
 	virtual uint8_t* 	compress(const void* data, size_t in_size, size_t& out_size) = 0;
+
+	/// Uncompresses the data pointed by @data of size @in_size (in bytes) and returns it.
+	/// The function also returns the size in bytes of the uncompressed data in @out_size.
+	/// @note
+	/// The returned data is automatically allocated using the passed allocator.
 	virtual uint8_t* 	uncompress(const void* data, size_t in_size, size_t& out_size) = 0;
 
 protected:
@@ -20,15 +54,10 @@ protected:
 	Allocator& 			m_allocator;
 };
 
+//-----------------------------------------------------------------------------
 inline Compressor::Compressor(Allocator& allocator) :
 	m_allocator(allocator)
 {
-
-}
-
-inline Compressor::~Compressor()
-{
-	
 }
 
-}
+} // namespace crown

+ 29 - 2
src/core/compressors/ZipCompressor.cpp

@@ -1,3 +1,28 @@
+/*
+Copyright (c) 2012 Daniele Bartolini, Simone Boscaratto
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+*/
+
 #include <cstring>
 
 #include "zlib.h"
@@ -6,17 +31,18 @@
 namespace crown
 {
 
+//-----------------------------------------------------------------------------
 ZipCompressor::ZipCompressor(Allocator& allocator) :
 	Compressor(allocator)
 {
-	
 }
 
+//-----------------------------------------------------------------------------
 ZipCompressor::~ZipCompressor()
 {
-
 }
 
+//-----------------------------------------------------------------------------
 uint8_t* ZipCompressor::compress(const void* data, size_t in_size, size_t& out_size)
 {
 	out_size = in_size + in_size * 0.1f + 12;
@@ -30,6 +56,7 @@ uint8_t* ZipCompressor::compress(const void* data, size_t in_size, size_t& out_s
 	return dest;
 }
 
+//-----------------------------------------------------------------------------
 uint8_t* ZipCompressor::uncompress(const void* data, size_t in_size, size_t& out_size)
 {
 	out_size = in_size + in_size * 0.1f + 12;

+ 29 - 1
src/core/compressors/ZipCompressor.h

@@ -1,11 +1,36 @@
+/*
+Copyright (c) 2012 Daniele Bartolini, Simone Boscaratto
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+*/
+
 #pragma once
 
 #include "Compressor.h"
-#include "List.h"
 
 namespace crown
 {
 
+/// Generic data compressor which uses zlib.
 class ZipCompressor : public Compressor
 {
 public:
@@ -13,7 +38,10 @@ public:
 				ZipCompressor(Allocator& allocator);
 				~ZipCompressor();
 	
+	/// @copydoc Compressor::compress()
 	uint8_t* 	compress(const void* data, size_t in_size, size_t& out_size);
+
+	/// @copydoc Compressor::uncompress()
 	uint8_t* 	uncompress(const void* data, size_t in_size, size_t& out_size);
 };