AbstractEvent.h   AbstractEvent.h 
// //
// AbstractEvent.h // AbstractEvent.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/AbstractEvent.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractEvent.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: AbstractEvent // Module: AbstractEvent
// //
// Definition of the AbstractEvent class. // Definition of the AbstractEvent class.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 208 skipping to change at line 208
} }
void notify(const void* pSender, TArgs& args) void notify(const void* pSender, TArgs& args)
/// Sends a notification to all registered delegates. The or der is /// Sends a notification to all registered delegates. The or der is
/// determined by the TStrategy. This method is blocking. Wh ile executing, /// determined by the TStrategy. This method is blocking. Wh ile executing,
/// other objects can change the list of delegates. These ch anges don't /// other objects can change the list of delegates. These ch anges don't
/// influence the current active notifications but are activ ated with /// influence the current active notifications but are activ ated with
/// the next notify. If one of the delegates throws an excep tion, the notify /// the next notify. If one of the delegates throws an excep tion, the notify
/// method is immediately aborted and the exception is repor ted to the caller. /// method is immediately aborted and the exception is repor ted to the caller.
{ {
SharedPtr<TStrategy> ptrStrat; Poco::ScopedLockWithUnlock<TMutex> lock(_mutex);
bool enabled = false;
{ if (!_enabled) return;
typename TMutex::ScopedLock lock(_mutex);
enabled = _enabled;
if (_enabled)
{
// thread-safeness:
// copy should be faster and safer than bloc
king until
// execution ends
ptrStrat = new TStrategy(_strategy);
}
}
if (enabled) // thread-safeness:
{ // copy should be faster and safer than blocking until
ptrStrat->notify(pSender, args); // execution ends
} TStrategy strategy(_strategy);
lock.unlock();
strategy.notify(pSender, args);
} }
ActiveResult<TArgs> notifyAsync(const void* pSender, const TArgs& ar gs) ActiveResult<TArgs> notifyAsync(const void* pSender, const TArgs& ar gs)
/// Sends a notification to all registered delegates. The or der is /// Sends a notification to all registered delegates. The or der is
/// determined by the TStrategy. This method is not blocking and will /// determined by the TStrategy. This method is not blocking and will
/// immediately return. The delegates are invoked in a seper ate thread. /// immediately return. The delegates are invoked in a seper ate thread.
/// Call activeResult.wait() to wait until the notification has ended. /// Call activeResult.wait() to wait until the notification has ended.
/// While executing, other objects can change the delegate l ist. These changes don't /// While executing, other objects can change the delegate l ist. These changes don't
/// influence the current active notifications but are activ ated with /// influence the current active notifications but are activ ated with
/// the next notify. If one of the delegates throws an excep tion, the execution /// the next notify. If one of the delegates throws an excep tion, the execution
 End of changes. 4 change blocks. 
19 lines changed or deleted 9 lines changed or added


 Application.h   Application.h 
// //
// Application.h // Application.h
// //
// $Id: //poco/1.4/Util/include/Poco/Util/Application.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/Application.h#2 $
// //
// Library: Util // Library: Util
// Package: Application // Package: Application
// Module: Application // Module: Application
// //
// Definition of the Application class. // Definition of the Application class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 51 skipping to change at line 51
#include "Poco/Util/Util.h" #include "Poco/Util/Util.h"
#include "Poco/Util/Subsystem.h" #include "Poco/Util/Subsystem.h"
#include "Poco/Util/LayeredConfiguration.h" #include "Poco/Util/LayeredConfiguration.h"
#include "Poco/Util/OptionSet.h" #include "Poco/Util/OptionSet.h"
#include "Poco/AutoPtr.h" #include "Poco/AutoPtr.h"
#include "Poco/Logger.h" #include "Poco/Logger.h"
#include "Poco/Path.h" #include "Poco/Path.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
#include "Poco/AutoPtr.h" #include "Poco/AutoPtr.h"
#if defined(POCO_VXWORKS)
#include <cstdarg>
#endif
#include <vector> #include <vector>
#include <typeinfo> #include <typeinfo>
namespace Poco { namespace Poco {
namespace Util { namespace Util {
class OptionSet; class OptionSet;
class Util_API Application: public Subsystem class Util_API Application: public Subsystem
/// The Application class implements the main subsystem /// The Application class implements the main subsystem
skipping to change at line 467 skipping to change at line 470
{ \ { \
pApp->init(argc, argv); \ pApp->init(argc, argv); \
} \ } \
catch (Poco::Exception& exc) \ catch (Poco::Exception& exc) \
{ \ { \
pApp->logger().log(exc); \ pApp->logger().log(exc); \
return Poco::Util::Application::EXIT_CONFIG;\ return Poco::Util::Application::EXIT_CONFIG;\
} \ } \
return pApp->run(); \ return pApp->run(); \
} }
#elif defined(POCO_VXWORKS)
#define POCO_APP_MAIN(App) \
int pocoAppMain(const char* appName, ...) \
{ \
std::vector<std::string> args; \
args.push_back(std::string(appName)); \
va_list vargs; \
va_start(vargs, appName); \
const char* arg = va_arg(vargs, const char*); \
while (arg) \
{ \
args.push_back(std::string(arg)); \
arg = va_arg(vargs, const char*); \
} \
va_end(vargs); \
Poco::AutoPtr<App> pApp = new App; \
try
\
{
\
pApp->init(args); \
}
\
catch (Poco::Exception& exc) \
{
\
pApp->logger().log(exc); \
return Poco::Util::Application::EXIT_CONFIG;\
}
\
return pApp->run(); \
}
#else #else
#define POCO_APP_MAIN(App) \ #define POCO_APP_MAIN(App) \
int main(int argc, char** argv) \ int main(int argc, char** argv) \
{ \ { \
Poco::AutoPtr<App> pApp = new App; \ Poco::AutoPtr<App> pApp = new App; \
try \ try \
{ \ { \
pApp->init(argc, argv); \ pApp->init(argc, argv); \
} \ } \
catch (Poco::Exception& exc) \ catch (Poco::Exception& exc) \
 End of changes. 3 change blocks. 
1 lines changed or deleted 36 lines changed or added


 Base64Decoder.h   Base64Decoder.h 
// //
// Base64Decoder.h // Base64Decoder.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Base64Decoder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Base64Decoder.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: Base64 // Module: Base64
// //
// Definition of class Base64Decoder. // Definition of class Base64Decoder.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 50 skipping to change at line 50
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/UnbufferedStreamBuf.h" #include "Poco/UnbufferedStreamBuf.h"
#include <istream> #include <istream>
namespace Poco { namespace Poco {
class Foundation_API Base64DecoderBuf: public UnbufferedStreamBuf class Foundation_API Base64DecoderBuf: public UnbufferedStreamBuf
/// This streambuf base64-decodes all data read /// This streambuf base64-decodes all data read
/// from the istream connected to it. /// from the istream connected to it.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
Base64DecoderBuf(std::istream& istr); Base64DecoderBuf(std::istream& istr);
~Base64DecoderBuf(); ~Base64DecoderBuf();
private: private:
int readFromDevice(); int readFromDevice();
int readOne(); int readOne();
unsigned char _group[3]; unsigned char _group[3];
int _groupLength; int _groupLength;
int _groupIndex; int _groupIndex;
std::istream& _istr; std::streambuf& _buf;
static unsigned char IN_ENCODING[256]; static unsigned char IN_ENCODING[256];
static bool IN_ENCODING_INIT; static bool IN_ENCODING_INIT;
private: private:
Base64DecoderBuf(const Base64DecoderBuf&); Base64DecoderBuf(const Base64DecoderBuf&);
Base64DecoderBuf& operator = (const Base64DecoderBuf&); Base64DecoderBuf& operator = (const Base64DecoderBuf&);
}; };
class Foundation_API Base64DecoderIOS: public virtual std::ios class Foundation_API Base64DecoderIOS: public virtual std::ios
skipping to change at line 94 skipping to change at line 100
Base64DecoderBuf _buf; Base64DecoderBuf _buf;
private: private:
Base64DecoderIOS(const Base64DecoderIOS&); Base64DecoderIOS(const Base64DecoderIOS&);
Base64DecoderIOS& operator = (const Base64DecoderIOS&); Base64DecoderIOS& operator = (const Base64DecoderIOS&);
}; };
class Foundation_API Base64Decoder: public Base64DecoderIOS, public std::is tream class Foundation_API Base64Decoder: public Base64DecoderIOS, public std::is tream
/// This istream base64-decodes all data /// This istream base64-decodes all data
/// read from the istream connected to it. /// read from the istream connected to it.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
Base64Decoder(std::istream& istr); Base64Decoder(std::istream& istr);
~Base64Decoder(); ~Base64Decoder();
private: private:
Base64Decoder(const Base64Decoder&); Base64Decoder(const Base64Decoder&);
Base64Decoder& operator = (const Base64Decoder&); Base64Decoder& operator = (const Base64Decoder&);
}; };
 End of changes. 4 change blocks. 
5 lines changed or deleted 17 lines changed or added


 Base64Encoder.h   Base64Encoder.h 
// //
// Base64Encoder.h // Base64Encoder.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Base64Encoder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Base64Encoder.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: Base64 // Module: Base64
// //
// Definition of class Base64Encoder. // Definition of class Base64Encoder.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 51 skipping to change at line 51
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/UnbufferedStreamBuf.h" #include "Poco/UnbufferedStreamBuf.h"
#include <ostream> #include <ostream>
namespace Poco { namespace Poco {
class Foundation_API Base64EncoderBuf: public UnbufferedStreamBuf class Foundation_API Base64EncoderBuf: public UnbufferedStreamBuf
/// This streambuf base64-encodes all data written /// This streambuf base64-encodes all data written
/// to it and forwards it to a connected /// to it and forwards it to a connected
/// ostream. /// ostream.
///
/// Note: The characters are directly written
/// to the ostream's streambuf, thus bypassing
/// the ostream. The ostream's state is therefore
/// not updated to match the buffer's state.
{ {
public: public:
Base64EncoderBuf(std::ostream& ostr); Base64EncoderBuf(std::ostream& ostr);
~Base64EncoderBuf(); ~Base64EncoderBuf();
int close(); int close();
/// Closes the stream buffer. /// Closes the stream buffer.
void setLineLength(int lineLength); void setLineLength(int lineLength);
/// Specify the line length. /// Specify the line length.
skipping to change at line 73 skipping to change at line 78
/// a newline character will be written. /// a newline character will be written.
/// ///
/// Specify 0 for an unlimited line length. /// Specify 0 for an unlimited line length.
int getLineLength() const; int getLineLength() const;
/// Returns the currently set line length. /// Returns the currently set line length.
private: private:
int writeToDevice(char c); int writeToDevice(char c);
unsigned char _group[3]; unsigned char _group[3];
int _groupLength; int _groupLength;
int _pos; int _pos;
int _lineLength; int _lineLength;
std::ostream& _ostr; std::streambuf& _buf;
static const unsigned char OUT_ENCODING[64]; static const unsigned char OUT_ENCODING[64];
friend class Base64DecoderBuf; friend class Base64DecoderBuf;
Base64EncoderBuf(const Base64EncoderBuf&); Base64EncoderBuf(const Base64EncoderBuf&);
Base64EncoderBuf& operator = (const Base64EncoderBuf&); Base64EncoderBuf& operator = (const Base64EncoderBuf&);
}; };
class Foundation_API Base64EncoderIOS: public virtual std::ios class Foundation_API Base64EncoderIOS: public virtual std::ios
skipping to change at line 114 skipping to change at line 119
Base64EncoderIOS& operator = (const Base64EncoderIOS&); Base64EncoderIOS& operator = (const Base64EncoderIOS&);
}; };
class Foundation_API Base64Encoder: public Base64EncoderIOS, public std::os tream class Foundation_API Base64Encoder: public Base64EncoderIOS, public std::os tream
/// This ostream base64-encodes all data /// This ostream base64-encodes all data
/// written to it and forwards it to /// written to it and forwards it to
/// a connected ostream. /// a connected ostream.
/// Always call close() when done /// Always call close() when done
/// writing data, to ensure proper /// writing data, to ensure proper
/// completion of the encoding operation. /// completion of the encoding operation.
///
/// Note: The characters are directly written
/// to the ostream's streambuf, thus bypassing
/// the ostream. The ostream's state is therefore
/// not updated to match the buffer's state.
{ {
public: public:
Base64Encoder(std::ostream& ostr); Base64Encoder(std::ostream& ostr);
~Base64Encoder(); ~Base64Encoder();
private: private:
Base64Encoder(const Base64Encoder&); Base64Encoder(const Base64Encoder&);
Base64Encoder& operator = (const Base64Encoder&); Base64Encoder& operator = (const Base64Encoder&);
}; };
 End of changes. 4 change blocks. 
6 lines changed or deleted 16 lines changed or added


 BinaryReader.h   BinaryReader.h 
// //
// BinaryReader.h // BinaryReader.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/BinaryReader.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/BinaryReader.h#3 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: BinaryReaderWriter // Module: BinaryReaderWriter
// //
// Definition of the BinaryReader class. // Definition of the BinaryReader class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 107 skipping to change at line 107
BinaryReader& operator >> (std::string& value); BinaryReader& operator >> (std::string& value);
template <typename T> template <typename T>
BinaryReader& operator >> (std::vector<T>& value) BinaryReader& operator >> (std::vector<T>& value)
{ {
Poco::UInt32 size(0); Poco::UInt32 size(0);
T elem; T elem;
*this >> size; *this >> size;
if (!good()) return *this;
value.reserve(size); value.reserve(size);
while (this->good() && size > 0) while (this->good() && size-- > 0)
{ {
*this >> elem; *this >> elem;
value.push_back(elem); value.push_back(elem);
} }
return *this; return *this;
} }
void read7BitEncoded(UInt32& value); void read7BitEncoded(UInt32& value);
/// Reads a 32-bit unsigned integer in compressed format. /// Reads a 32-bit unsigned integer in compressed format.
/// See BinaryWriter::write7BitEncoded() for a description /// See BinaryWriter::write7BitEncoded() for a description
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 DynamicAnyHolder.h   DynamicAnyHolder.h 
// //
// DynamicAnyHolder.h // DynamicAnyHolder.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/DynamicAnyHolder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DynamicAnyHolder.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: DynamicAnyHolder // Module: DynamicAnyHolder
// //
// Definition of the DynamicAnyHolder class. // Definition of the DynamicAnyHolder class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 124 skipping to change at line 124
/// larger to smaller type. It checks the upper and lower bo und and /// larger to smaller type. It checks the upper and lower bo und and
/// if from value is within limits of type T (i.e. check cal ls do not throw), /// if from value is within limits of type T (i.e. check cal ls do not throw),
/// it is converted. /// it is converted.
{ {
poco_static_assert (std::numeric_limits<F>::is_specialized); poco_static_assert (std::numeric_limits<F>::is_specialized);
poco_static_assert (std::numeric_limits<T>::is_specialized); poco_static_assert (std::numeric_limits<T>::is_specialized);
poco_static_assert (std::numeric_limits<F>::is_signed); poco_static_assert (std::numeric_limits<F>::is_signed);
poco_static_assert (std::numeric_limits<T>::is_signed); poco_static_assert (std::numeric_limits<T>::is_signed);
if (std::numeric_limits<F>::is_integer) if (std::numeric_limits<F>::is_integer)
{
checkUpperLimit(from, to); checkUpperLimit(from, to);
checkLowerLimit(from, to);
}
else else
{
checkUpperLimitFloat(from, to); checkUpperLimitFloat(from, to);
checkLowerLimitFloat(from, to);
checkLowerLimit(from, to); }
to = static_cast<T>(from); to = static_cast<T>(from);
} }
template <typename F, typename T> template <typename F, typename T>
void convertToSmallerUnsigned(const F& from, T& to) const void convertToSmallerUnsigned(const F& from, T& to) const
/// This function is meant for converting unsigned integral data types, /// This function is meant for converting unsigned integral data types,
/// from larger to smaller type. Since lower limit is always 0 for unigned types, /// from larger to smaller type. Since lower limit is always 0 for unigned types,
/// only the upper limit is checked, thus saving some cycles compared to the signed /// only the upper limit is checked, thus saving some cycles compared to the signed
/// version of the function. If the value to be converted is smaller than /// version of the function. If the value to be converted is smaller than
/// the maximum value for the target type, the conversion is performed. /// the maximum value for the target type, the conversion is performed.
skipping to change at line 226 skipping to change at line 230
} }
template <typename F, typename T> template <typename F, typename T>
void checkUpperLimitFloat(const F& from, T&) const void checkUpperLimitFloat(const F& from, T&) const
{ {
if (from > std::numeric_limits<T>::max()) if (from > std::numeric_limits<T>::max())
throw RangeException("Value too large."); throw RangeException("Value too large.");
} }
template <typename F, typename T> template <typename F, typename T>
void checkLowerLimitFloat(const F& from, T&) const
{
if (from < -std::numeric_limits<T>::max())
throw RangeException("Value too small.");
}
template <typename F, typename T>
void checkLowerLimit(const F& from, T&) const void checkLowerLimit(const F& from, T&) const
{ {
if (from < std::numeric_limits<T>::min()) if (from < std::numeric_limits<T>::min())
throw RangeException("Value too small."); throw RangeException("Value too small.");
} }
}; };
// //
// inlines // inlines
// //
 End of changes. 6 change blocks. 
3 lines changed or deleted 14 lines changed or added


 File.h   File.h 
// //
// File.h // File.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/File.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/File.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: File // Module: File
// //
// Definition of the File class. // Definition of the File class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 53 skipping to change at line 53
#include <vector> #include <vector>
#if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) #if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8)
#if defined(_WIN32_WCE) #if defined(_WIN32_WCE)
#include "File_WINCE.h" #include "File_WINCE.h"
#else #else
#include "Poco/File_WIN32U.h" #include "Poco/File_WIN32U.h"
#endif #endif
#elif defined(POCO_OS_FAMILY_WINDOWS) #elif defined(POCO_OS_FAMILY_WINDOWS)
#include "Poco/File_WIN32.h" #include "Poco/File_WIN32.h"
#elif defined(POCO_VXWORKS)
#include "Poco/File_VX.h"
#elif defined(POCO_OS_FAMILY_UNIX) #elif defined(POCO_OS_FAMILY_UNIX)
#include "Poco/File_UNIX.h" #include "Poco/File_UNIX.h"
#else #else
#include "Poco/File_VMS.h" #include "Poco/File_VMS.h"
#endif #endif
namespace Poco { namespace Poco {
class Path; class Path;
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 Foundation.h   Foundation.h 
// //
// Foundation.h // Foundation.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Foundation.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Foundation.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Foundation // Module: Foundation
// //
// Basic definitions for the POCO Foundation library. // Basic definitions for the POCO Foundation library.
// This file must be the first file included by every other Foundation // This file must be the first file included by every other Foundation
// header file. // header file.
// //
// Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
skipping to change at line 114 skipping to change at line 114
#endif #endif
// //
// Include platform-specific definitions // Include platform-specific definitions
// //
#include "Poco/Platform.h" #include "Poco/Platform.h"
#if defined(_WIN32) #if defined(_WIN32)
#include "Poco/Platform_WIN32.h" #include "Poco/Platform_WIN32.h"
#elif defined(__VMS) #elif defined(__VMS)
#include "Poco/Platform_VMS.h" #include "Poco/Platform_VMS.h"
#elif defined(POCO_VXWORKS)
#include "Poco/Platform_VX.h"
#elif defined(POCO_OS_FAMILY_UNIX) #elif defined(POCO_OS_FAMILY_UNIX)
#include "Poco/Platform_POSIX.h" #include "Poco/Platform_POSIX.h"
#endif #endif
// //
// POCO_JOIN // POCO_JOIN
// //
// The following piece of macro magic joins the two // The following piece of macro magic joins the two
// arguments together, even when one of the arguments is // arguments together, even when one of the arguments is
// itself a macro (see 16.3.1 in C++ standard). The key // itself a macro (see 16.3.1 in C++ standard). The key
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 HTTPClientSession.h   HTTPClientSession.h 
// //
// HTTPClientSession.h // HTTPClientSession.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/HTTPClientSession.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPClientSession.h#2 $
// //
// Library: Net // Library: Net
// Package: HTTPClient // Package: HTTPClient
// Module: HTTPClientSession // Module: HTTPClientSession
// //
// Definition of the HTTPClientSession class. // Definition of the HTTPClientSession class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 167 skipping to change at line 167
/// Sends the header for the given HTTP request to /// Sends the header for the given HTTP request to
/// the server. /// the server.
/// ///
/// The HTTPClientSession will set the request's /// The HTTPClientSession will set the request's
/// Host and Keep-Alive headers accordingly. /// Host and Keep-Alive headers accordingly.
/// ///
/// The returned output stream can be used to write /// The returned output stream can be used to write
/// the request body. The stream is valid until /// the request body. The stream is valid until
/// receiveResponse() is called or the session /// receiveResponse() is called or the session
/// is destroyed. /// is destroyed.
///
/// In case a network or server failure happens
/// while writing the request body to the returned stream,
/// the stream state will change to bad or fail. In this
/// case, reset() should be called if the session will
/// be reused and persistent connections are enabled
/// to ensure a new connection will be set up
/// for the next request.
virtual std::istream& receiveResponse(HTTPResponse& response); virtual std::istream& receiveResponse(HTTPResponse& response);
/// Receives the header for the response to the previous /// Receives the header for the response to the previous
/// HTTP request. /// HTTP request.
/// ///
/// The returned input stream can be used to read /// The returned input stream can be used to read
/// the response body. The stream is valid until /// the response body. The stream is valid until
/// sendRequest() is called or the session is /// sendRequest() is called or the session is
/// destroyed. /// destroyed.
///
/// It must be ensured that the response stream
/// is fully consumed before sending a new request
/// and persistent connections are enabled. Otherwise,
/// the unread part of the response body may be treated as
/// part of the next request's response header, resulting
/// in a Poco::Net::MessageException being thrown.
///
/// In case a network or server failure happens
/// while reading the response body from the returned stream
,
/// the stream state will change to bad or fail. In this
/// case, reset() should be called if the session will
/// be reused and persistent connections are enabled
/// to ensure a new connection will be set up
/// for the next request.
void reset(); void reset();
/// Resets the session and closes the socket. /// Resets the session and closes the socket.
/// ///
/// The next request will initiate a new connection, /// The next request will initiate a new connection,
/// even if persistent connections are enabled. /// even if persistent connections are enabled.
///
/// This should be called whenever something went
/// wrong when sending a request (e.g., sendRequest()
/// or receiveResponse() throws an exception, or
/// the request or response stream changes into
/// fail or bad state, but not eof state).
virtual bool secure() const; virtual bool secure() const;
/// Return true iff the session uses SSL or TLS, /// Return true iff the session uses SSL or TLS,
/// or false otherwise. /// or false otherwise.
protected: protected:
enum enum
{ {
DEFAULT_KEEP_ALIVE_TIMEOUT = 8 DEFAULT_KEEP_ALIVE_TIMEOUT = 8
}; };
 End of changes. 4 change blocks. 
1 lines changed or deleted 31 lines changed or added


 HTTPSession.h   HTTPSession.h 
// //
// HTTPSession.h // HTTPSession.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/HTTPSession.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPSession.h#2 $
// //
// Library: Net // Library: Net
// Package: HTTP // Package: HTTP
// Module: HTTPSession // Module: HTTPSession
// //
// Definition of the HTTPSession class. // Definition of the HTTPSession class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 81 skipping to change at line 81
void setTimeout(const Poco::Timespan& timeout); void setTimeout(const Poco::Timespan& timeout);
/// Sets the timeout for the HTTP session. /// Sets the timeout for the HTTP session.
Poco::Timespan getTimeout() const; Poco::Timespan getTimeout() const;
/// Returns the timeout for the HTTP session. /// Returns the timeout for the HTTP session.
bool connected() const; bool connected() const;
/// Returns true if the underlying socket is connected. /// Returns true if the underlying socket is connected.
void abort(); virtual void abort();
/// Aborts a session in progress by shutting down /// Aborts a session in progress by shutting down
/// and closing the underlying socket. /// and closing the underlying socket.
const Poco::Exception* networkException() const; const Poco::Exception* networkException() const;
/// If sending or receiving data over the underlying /// If sending or receiving data over the underlying
/// socket connection resulted in an exception, a /// socket connection resulted in an exception, a
/// pointer to this exception is returned. /// pointer to this exception is returned.
/// ///
/// Otherwise, NULL is returned. /// Otherwise, NULL is returned.
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 HexBinaryDecoder.h   HexBinaryDecoder.h 
// //
// HexBinaryDecoder.h // HexBinaryDecoder.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/HexBinaryDecoder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/HexBinaryDecoder.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: HexBinary // Module: HexBinary
// //
// Definition of the HexBinaryDecoder class. // Definition of the HexBinaryDecoder class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 54 skipping to change at line 54
namespace Poco { namespace Poco {
class Foundation_API HexBinaryDecoderBuf: public UnbufferedStreamBuf class Foundation_API HexBinaryDecoderBuf: public UnbufferedStreamBuf
/// This streambuf decodes all hexBinary-encoded data read /// This streambuf decodes all hexBinary-encoded data read
/// from the istream connected to it. /// from the istream connected to it.
/// In hexBinary encoding, each binary octet is encoded as a charact er tuple, /// In hexBinary encoding, each binary octet is encoded as a charact er tuple,
/// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. /// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code.
/// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/), /// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/),
/// section 3.2.15. /// section 3.2.15.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
HexBinaryDecoderBuf(std::istream& istr); HexBinaryDecoderBuf(std::istream& istr);
~HexBinaryDecoderBuf(); ~HexBinaryDecoderBuf();
private: private:
int readFromDevice(); int readFromDevice();
int readOne(); int readOne();
std::istream& _istr; std::streambuf& _buf;
}; };
class Foundation_API HexBinaryDecoderIOS: public virtual std::ios class Foundation_API HexBinaryDecoderIOS: public virtual std::ios
/// The base class for HexBinaryDecoder. /// The base class for HexBinaryDecoder.
/// ///
/// This class is needed to ensure the correct initialization /// This class is needed to ensure the correct initialization
/// order of the stream buffer and base classes. /// order of the stream buffer and base classes.
{ {
public: public:
HexBinaryDecoderIOS(std::istream& istr); HexBinaryDecoderIOS(std::istream& istr);
skipping to change at line 88 skipping to change at line 94
HexBinaryDecoderBuf _buf; HexBinaryDecoderBuf _buf;
}; };
class Foundation_API HexBinaryDecoder: public HexBinaryDecoderIOS, public s td::istream class Foundation_API HexBinaryDecoder: public HexBinaryDecoderIOS, public s td::istream
/// This istream decodes all hexBinary-encoded data read /// This istream decodes all hexBinary-encoded data read
/// from the istream connected to it. /// from the istream connected to it.
/// In hexBinary encoding, each binary octet is encoded as a charact er tuple, /// In hexBinary encoding, each binary octet is encoded as a charact er tuple,
/// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. /// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code.
/// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/), /// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/),
/// section 3.2.15. /// section 3.2.15.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
HexBinaryDecoder(std::istream& istr); HexBinaryDecoder(std::istream& istr);
~HexBinaryDecoder(); ~HexBinaryDecoder();
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_HexBinaryDecoder_INCLUDED #endif // Foundation_HexBinaryDecoder_INCLUDED
 End of changes. 4 change blocks. 
2 lines changed or deleted 14 lines changed or added


 HexBinaryEncoder.h   HexBinaryEncoder.h 
// //
// HexBinaryEncoder.h // HexBinaryEncoder.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/HexBinaryEncoder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/HexBinaryEncoder.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: HexBinary // Module: HexBinary
// //
// Definition of the HexBinaryEncoder class. // Definition of the HexBinaryEncoder class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 55 skipping to change at line 55
namespace Poco { namespace Poco {
class Foundation_API HexBinaryEncoderBuf: public UnbufferedStreamBuf class Foundation_API HexBinaryEncoderBuf: public UnbufferedStreamBuf
/// This streambuf encodes all data written /// This streambuf encodes all data written
/// to it in hexBinary encoding and forwards it to a connected /// to it in hexBinary encoding and forwards it to a connected
/// ostream. /// ostream.
/// In hexBinary encoding, each binary octet is encoded as a charact er tuple, /// In hexBinary encoding, each binary octet is encoded as a charact er tuple,
/// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. /// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code.
/// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/), /// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/),
/// section 3.2.15. /// section 3.2.15.
///
/// Note: The characters are directly written
/// to the ostream's streambuf, thus bypassing
/// the ostream. The ostream's state is therefore
/// not updated to match the buffer's state.
{ {
public: public:
HexBinaryEncoderBuf(std::ostream& ostr); HexBinaryEncoderBuf(std::ostream& ostr);
~HexBinaryEncoderBuf(); ~HexBinaryEncoderBuf();
int close(); int close();
/// Closes the stream buffer. /// Closes the stream buffer.
void setLineLength(int lineLength); void setLineLength(int lineLength);
/// Specify the line length. /// Specify the line length.
skipping to change at line 83 skipping to change at line 88
void setUppercase(bool flag = true); void setUppercase(bool flag = true);
/// Specify whether hex digits a-f are written in upper or l ower case. /// Specify whether hex digits a-f are written in upper or l ower case.
private: private:
int writeToDevice(char c); int writeToDevice(char c);
int _pos; int _pos;
int _lineLength; int _lineLength;
int _uppercase; int _uppercase;
std::ostream& _ostr; std::streambuf& _buf;
}; };
class Foundation_API HexBinaryEncoderIOS: public virtual std::ios class Foundation_API HexBinaryEncoderIOS: public virtual std::ios
/// The base class for HexBinaryEncoder. /// The base class for HexBinaryEncoder.
/// ///
/// This class is needed to ensure the correct initialization /// This class is needed to ensure the correct initialization
/// order of the stream buffer and base classes. /// order of the stream buffer and base classes.
{ {
public: public:
HexBinaryEncoderIOS(std::ostream& ostr); HexBinaryEncoderIOS(std::ostream& ostr);
skipping to change at line 113 skipping to change at line 118
/// This ostream encodes all data /// This ostream encodes all data
/// written to it in BinHex encoding and forwards it to /// written to it in BinHex encoding and forwards it to
/// a connected ostream. /// a connected ostream.
/// Always call close() when done /// Always call close() when done
/// writing data, to ensure proper /// writing data, to ensure proper
/// completion of the encoding operation. /// completion of the encoding operation.
/// In hexBinary encoding, each binary octet is encoded as a charact er tuple, /// In hexBinary encoding, each binary octet is encoded as a charact er tuple,
/// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. /// consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code.
/// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/), /// See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xml schema-2/),
/// section 3.2.15. /// section 3.2.15.
///
/// Note: The characters are directly written
/// to the ostream's streambuf, thus bypassing
/// the ostream. The ostream's state is therefore
/// not updated to match the buffer's state.
{ {
public: public:
HexBinaryEncoder(std::ostream& ostr); HexBinaryEncoder(std::ostream& ostr);
~HexBinaryEncoder(); ~HexBinaryEncoder();
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_HexBinaryEncoder_INCLUDED #endif // Foundation_HexBinaryEncoder_INCLUDED
 End of changes. 4 change blocks. 
2 lines changed or deleted 12 lines changed or added


 MailMessage.h   MailMessage.h 
// //
// MailMessage.h // MailMessage.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/MailMessage.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/MailMessage.h#2 $
// //
// Library: Net // Library: Net
// Package: Mail // Package: Mail
// Module: MailMessage // Module: MailMessage
// //
// Definition of the MailMessage class. // Definition of the MailMessage class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 MediaType.h   MediaType.h 
// //
// MediaType.h // MediaType.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/MediaType.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/MediaType.h#2 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: MediaType // Module: MediaType
// //
// Definition of the MediaType class. // Definition of the MediaType class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 124 skipping to change at line 124
bool matches(const std::string& type, const std::string& subType) co nst; bool matches(const std::string& type, const std::string& subType) co nst;
/// Returns true iff the type and subtype match /// Returns true iff the type and subtype match
/// the given type and subtype. /// the given type and subtype.
/// Matching is case insensitive. /// Matching is case insensitive.
bool matches(const std::string& type) const; bool matches(const std::string& type) const;
/// Returns true iff the type matches the given type. /// Returns true iff the type matches the given type.
/// Matching is case insensitive. /// Matching is case insensitive.
bool matchesRange(const MediaType& mediaType) const;
/// Returns true if the type and subtype match
/// the type and subtype of the given media type.
/// If the MIME type is a range of types it matches
/// any media type withing the range (e.g. "image/*" matches
/// any image media type, "*/*" matches anything).
/// Matching is case insensitive.
bool matchesRange(const std::string& type, const std::string& subTyp
e) const;
/// Returns true if the type and subtype match
/// the given type and subtype.
/// If the MIME type is a range of types it matches
/// any media type withing the range (e.g. "image/*" matches
/// any image media type, "*/*" matches anything).
/// Matching is case insensitive.
bool matchesRange(const std::string& type) const;
/// Returns true if the type matches the given type or
/// the type is a range of types denoted by "*".
/// Matching is case insensitive.
protected: protected:
void parse(const std::string& mediaType); void parse(const std::string& mediaType);
private: private:
MediaType(); MediaType();
std::string _type; std::string _type;
std::string _subType; std::string _subType;
NameValueCollection _parameters; NameValueCollection _parameters;
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 23 lines changed or added


 MessageHeader.h   MessageHeader.h 
// //
// MessageHeader.h // MessageHeader.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/MessageHeader.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/MessageHeader.h#2 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: MessageHeader // Module: MessageHeader
// //
// Definition of the MessageHeader class. // Definition of the MessageHeader class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NetException.h   NetException.h 
// //
// NetException.h // NetException.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/NetException.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/NetException.h#2 $
// //
// Library: Net // Library: Net
// Package: NetCore // Package: NetCore
// Module: NetException // Module: NetException
// //
// Definition of the NetException class. // Definition of the NetException class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 49 skipping to change at line 49
#define Net_NetException_INCLUDED #define Net_NetException_INCLUDED
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
namespace Poco { namespace Poco {
namespace Net { namespace Net {
POCO_DECLARE_EXCEPTION(Net_API, NetException, Poco::IOException) POCO_DECLARE_EXCEPTION(Net_API, NetException, Poco::IOException)
POCO_DECLARE_EXCEPTION(Net_API, InvalidAddressException, NetException) POCO_DECLARE_EXCEPTION(Net_API, InvalidAddressException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, InvalidSocketException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, ServiceNotFoundException, NetException) POCO_DECLARE_EXCEPTION(Net_API, ServiceNotFoundException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, ConnectionAbortedException, NetException) POCO_DECLARE_EXCEPTION(Net_API, ConnectionAbortedException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, ConnectionResetException, NetException) POCO_DECLARE_EXCEPTION(Net_API, ConnectionResetException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, ConnectionRefusedException, NetException) POCO_DECLARE_EXCEPTION(Net_API, ConnectionRefusedException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, DNSException, NetException) POCO_DECLARE_EXCEPTION(Net_API, DNSException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, HostNotFoundException, DNSException) POCO_DECLARE_EXCEPTION(Net_API, HostNotFoundException, DNSException)
POCO_DECLARE_EXCEPTION(Net_API, NoAddressFoundException, DNSException) POCO_DECLARE_EXCEPTION(Net_API, NoAddressFoundException, DNSException)
POCO_DECLARE_EXCEPTION(Net_API, InterfaceNotFoundException, NetException) POCO_DECLARE_EXCEPTION(Net_API, InterfaceNotFoundException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, NoMessageException, NetException) POCO_DECLARE_EXCEPTION(Net_API, NoMessageException, NetException)
POCO_DECLARE_EXCEPTION(Net_API, MessageException, NetException) POCO_DECLARE_EXCEPTION(Net_API, MessageException, NetException)
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 PartSource.h   PartSource.h 
// //
// PartSource.h // PartSource.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/PartSource.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/PartSource.h#2 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: PartSource // Module: PartSource
// //
// Definition of the PartSource class. // Definition of the PartSource class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 42 skipping to change at line 42
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABL E // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABL E
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWI SE, // FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWI SE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Net_PartSource_INCLUDED #ifndef Net_PartSource_INCLUDED
#define Net_PartSource_INCLUDED #define Net_PartSource_INCLUDED
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/Net/MessageHeader.h"
#include <istream> #include <istream>
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class Net_API PartSource class Net_API PartSource
/// This abstract class is used for adding parts or attachments /// This abstract class is used for adding parts or attachments
/// to mail messages, as well as for uploading files as part of a HT ML form. /// to mail messages, as well as for uploading files as part of a HT ML form.
{ {
public: public:
skipping to change at line 67 skipping to change at line 68
virtual const std::string& filename(); virtual const std::string& filename();
/// Returns the filename for the part or attachment. /// Returns the filename for the part or attachment.
/// ///
/// May be overridded by subclasses. The default /// May be overridded by subclasses. The default
/// implementation returns an empty string. /// implementation returns an empty string.
const std::string& mediaType() const; const std::string& mediaType() const;
/// Returns the MIME media type for this part or attachment. /// Returns the MIME media type for this part or attachment.
MessageHeader& headers();
/// Returns a MessageHeader containing additional header
/// fields for the part.
const MessageHeader& headers() const;
/// Returns a MessageHeader containing additional header
/// fields for the part.
virtual ~PartSource(); virtual ~PartSource();
/// Destroys the PartSource. /// Destroys the PartSource.
protected: protected:
PartSource(); PartSource();
/// Creates the PartSource, using /// Creates the PartSource, using
/// the application/octet-stream MIME type. /// the application/octet-stream MIME type.
PartSource(const std::string& mediaType); PartSource(const std::string& mediaType);
/// Creates the PartSource, using the /// Creates the PartSource, using the
/// given MIME type. /// given MIME type.
private: private:
PartSource(const PartSource&); PartSource(const PartSource&);
PartSource& operator = (const PartSource&); PartSource& operator = (const PartSource&);
std::string _mediaType; std::string _mediaType;
MessageHeader _headers;
}; };
// //
// inlines // inlines
// //
inline const std::string& PartSource::mediaType() const inline const std::string& PartSource::mediaType() const
{ {
return _mediaType; return _mediaType;
} }
inline MessageHeader& PartSource::headers()
{
return _headers;
}
inline const MessageHeader& PartSource::headers() const
{
return _headers;
}
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_PartSource_INCLUDED #endif // Net_PartSource_INCLUDED
 End of changes. 5 change blocks. 
1 lines changed or deleted 21 lines changed or added


 Platform.h   Platform.h 
// //
// Platform.h // Platform.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Platform.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Platform.h#3 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Platform // Module: Platform
// //
// Platform and architecture identification macros. // Platform and architecture identification macros.
// //
// NOTE: This file may be included from both C++ and C code, so it // NOTE: This file may be included from both C++ and C code, so it
// must not contain any C++ specific things. // must not contain any C++ specific things.
// //
skipping to change at line 117 skipping to change at line 117
#define POCO_OS POCO_OS_WINDOWS_CE #define POCO_OS POCO_OS_WINDOWS_CE
#elif defined(_WIN32) || defined(_WIN64) #elif defined(_WIN32) || defined(_WIN64)
#define POCO_OS_FAMILY_WINDOWS 1 #define POCO_OS_FAMILY_WINDOWS 1
#define POCO_OS POCO_OS_WINDOWS_NT #define POCO_OS POCO_OS_WINDOWS_NT
#elif defined(__CYGWIN__) #elif defined(__CYGWIN__)
#define POCO_OS_FAMILY_UNIX 1 #define POCO_OS_FAMILY_UNIX 1
#define POCO_OS POCO_OS_CYGWIN #define POCO_OS POCO_OS_CYGWIN
#elif defined(__VMS) #elif defined(__VMS)
#define POCO_OS_FAMILY_VMS 1 #define POCO_OS_FAMILY_VMS 1
#define POCO_OS POCO_OS_VMS #define POCO_OS POCO_OS_VMS
#elif defined(POCO_VXWORKS)
#define POCO_OS_FAMILY_UNIX 1
#define POCO_OS POCO_OS_VXWORKS
#endif #endif
// //
// Hardware Architecture and Byte Order // Hardware Architecture and Byte Order
// //
#define POCO_ARCH_ALPHA 0x01 #define POCO_ARCH_ALPHA 0x01
#define POCO_ARCH_IA32 0x02 #define POCO_ARCH_IA32 0x02
#define POCO_ARCH_IA64 0x03 #define POCO_ARCH_IA64 0x03
#define POCO_ARCH_MIPS 0x04 #define POCO_ARCH_MIPS 0x04
#define POCO_ARCH_HPPA 0x05 #define POCO_ARCH_HPPA 0x05
skipping to change at line 159 skipping to change at line 162
#elif defined(__x86_64__) || defined(_M_X64) #elif defined(__x86_64__) || defined(_M_X64)
#define POCO_ARCH POCO_ARCH_AMD64 #define POCO_ARCH POCO_ARCH_AMD64
#define POCO_ARCH_LITTLE_ENDIAN 1 #define POCO_ARCH_LITTLE_ENDIAN 1
#elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined( _M_MRX000) #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined( _M_MRX000)
#define POCO_ARCH POCO_ARCH_MIPS #define POCO_ARCH POCO_ARCH_MIPS
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__hppa) || defined(__hppa__) #elif defined(__hppa) || defined(__hppa__)
#define POCO_ARCH POCO_ARCH_HPPA #define POCO_ARCH POCO_ARCH_HPPA
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__PPC) || defined(__POWERPC__) || defined(__powerpc) || defin ed(__PPC__) || \ #elif defined(__PPC) || defined(__POWERPC__) || defined(__powerpc) || defin ed(__PPC__) || \
defined(__powerpc__) || defined(__ppc__) || defined(_ARCH_PPC) || def ined(_M_PPC) defined(__powerpc__) || defined(__ppc__) || defined(__ppc) || defined (_ARCH_PPC) || defined(_M_PPC)
#define POCO_ARCH POCO_ARCH_PPC #define POCO_ARCH POCO_ARCH_PPC
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(_POWER) || defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defin ed(_ARCH_PWR3) || \ #elif defined(_POWER) || defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defin ed(_ARCH_PWR3) || \
defined(_ARCH_PWR4) || defined(__THW_RS6000) defined(_ARCH_PWR4) || defined(__THW_RS6000)
#define POCO_ARCH POCO_ARCH_POWER #define POCO_ARCH POCO_ARCH_POWER
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__sparc__) || defined(__sparc) || defined(sparc) #elif defined(__sparc__) || defined(__sparc) || defined(sparc)
#define POCO_ARCH POCO_ARCH_SPARC #define POCO_ARCH POCO_ARCH_SPARC
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__arm__) || defined(__arm) || defined(ARM) || defined(_ARM_) || defined(__ARM__) || defined(_M_ARM) #elif defined(__arm__) || defined(__arm) || defined(ARM) || defined(_ARM_) || defined(__ARM__) || defined(_M_ARM)
skipping to change at line 182 skipping to change at line 185
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#else #else
#define POCO_ARCH_LITTLE_ENDIAN 1 #define POCO_ARCH_LITTLE_ENDIAN 1
#endif #endif
#elif defined(__m68k__) #elif defined(__m68k__)
#define POCO_ARCH POCO_ARCH_M68K #define POCO_ARCH POCO_ARCH_M68K
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__s390__) #elif defined(__s390__)
#define POCO_ARCH POCO_ARCH_S390 #define POCO_ARCH POCO_ARCH_S390
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#elif defined(__sh__) #elif defined(__sh__) || defined(__sh)
#define POCO_ARCH POCO_ARCH_SH #define POCO_ARCH POCO_ARCH_SH
#if defined(__LITTLE_ENDIAN__) #if defined(__LITTLE_ENDIAN__)
#define POCO_ARCH_LITTLE_ENDIAN 1 #define POCO_ARCH_LITTLE_ENDIAN 1
#else #else
#define POCO_ARCH_BIG_ENDIAN 1 #define POCO_ARCH_BIG_ENDIAN 1
#endif #endif
#endif #endif
#endif // Foundation_Platform_INCLUDED #endif // Foundation_Platform_INCLUDED
 End of changes. 4 change blocks. 
3 lines changed or deleted 6 lines changed or added


 QuotedPrintableDecoder.h   QuotedPrintableDecoder.h 
// //
// QuotedPrintableDecoder.h // QuotedPrintableDecoder.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/QuotedPrintableDecoder.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/QuotedPrintableDecoder.h#2 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: QuotedPrintableDecoder // Module: QuotedPrintableDecoder
// //
// Definition of the QuotedPrintableDecoder class. // Definition of the QuotedPrintableDecoder class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 51 skipping to change at line 51
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/UnbufferedStreamBuf.h" #include "Poco/UnbufferedStreamBuf.h"
#include <istream> #include <istream>
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class Net_API QuotedPrintableDecoderBuf: public Poco::UnbufferedStreamBuf class Net_API QuotedPrintableDecoderBuf: public Poco::UnbufferedStreamBuf
/// This streambuf decodes all quoted-printable (see RFC 2045) /// This streambuf decodes all quoted-printable (see RFC 2045)
/// encoded data read from the istream connected to it. /// encoded data read from the istream connected to it.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
QuotedPrintableDecoderBuf(std::istream& istr); QuotedPrintableDecoderBuf(std::istream& istr);
~QuotedPrintableDecoderBuf(); ~QuotedPrintableDecoderBuf();
private: private:
int readFromDevice(); int readFromDevice();
std::istream& _istr; std::streambuf& _buf;
}; };
class Net_API QuotedPrintableDecoderIOS: public virtual std::ios class Net_API QuotedPrintableDecoderIOS: public virtual std::ios
/// The base class for QuotedPrintableDecoder. /// The base class for QuotedPrintableDecoder.
/// ///
/// This class is needed to ensure the correct initialization /// This class is needed to ensure the correct initialization
/// order of the stream buffer and base classes. /// order of the stream buffer and base classes.
{ {
public: public:
QuotedPrintableDecoderIOS(std::istream& istr); QuotedPrintableDecoderIOS(std::istream& istr);
~QuotedPrintableDecoderIOS(); ~QuotedPrintableDecoderIOS();
QuotedPrintableDecoderBuf* rdbuf(); QuotedPrintableDecoderBuf* rdbuf();
protected: protected:
QuotedPrintableDecoderBuf _buf; QuotedPrintableDecoderBuf _buf;
}; };
class Net_API QuotedPrintableDecoder: public QuotedPrintableDecoderIOS, pub lic std::istream class Net_API QuotedPrintableDecoder: public QuotedPrintableDecoderIOS, pub lic std::istream
/// This istream decodes all quoted-printable (see RFC 2045) /// This istream decodes all quoted-printable (see RFC 2045)
/// encoded data read from the istream connected to it. /// encoded data read from the istream connected to it.
///
/// Note: For performance reasons, the characters
/// are read directly from the given istream's
/// underlying streambuf, so the state
/// of the istream will not reflect that of
/// its streambuf.
{ {
public: public:
QuotedPrintableDecoder(std::istream& istr); QuotedPrintableDecoder(std::istream& istr);
~QuotedPrintableDecoder(); ~QuotedPrintableDecoder();
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_QuotedPrintableDecoder_INCLUDED #endif // Net_QuotedPrintableDecoder_INCLUDED
 End of changes. 4 change blocks. 
2 lines changed or deleted 14 lines changed or added


 RWLock.h   RWLock.h 
// //
// RWLock.h // RWLock.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/RWLock.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/RWLock.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: RWLock // Module: RWLock
// //
// Definition of the RWLock class. // Definition of the RWLock class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 50 skipping to change at line 50
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#if defined(POCO_OS_FAMILY_WINDOWS) #if defined(POCO_OS_FAMILY_WINDOWS)
#if defined(_WIN32_WCE) #if defined(_WIN32_WCE)
#include "Poco/RWLock_WINCE.h" #include "Poco/RWLock_WINCE.h"
#else #else
#include "Poco/RWLock_WIN32.h" #include "Poco/RWLock_WIN32.h"
#endif #endif
#elif defined(POCO_VXWORKS)
#include "Poco/RWLock_VX.h"
#else #else
#include "Poco/RWLock_POSIX.h" #include "Poco/RWLock_POSIX.h"
#endif #endif
namespace Poco { namespace Poco {
class ScopedRWLock; class ScopedRWLock;
class ScopedReadRWLock; class ScopedReadRWLock;
class ScopedWriteRWLock; class ScopedWriteRWLock;
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 ServerApplication.h   ServerApplication.h 
// //
// ServerApplication.h // ServerApplication.h
// //
// $Id: //poco/1.4/Util/include/Poco/Util/ServerApplication.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/ServerApplication.h#2 $
// //
// Library: Util // Library: Util
// Package: Application // Package: Application
// Module: ServerApplication // Module: ServerApplication
// //
// Definition of the ServerApplication class. // Definition of the ServerApplication class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 44 skipping to change at line 44
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Util_ServerApplication_INCLUDED #ifndef Util_ServerApplication_INCLUDED
#define Util_ServerApplication_INCLUDED #define Util_ServerApplication_INCLUDED
#include "Poco/Util/Util.h" #include "Poco/Util/Util.h"
#include "Poco/Util/Application.h" #include "Poco/Util/Application.h"
#include "Poco/Event.h" #include "Poco/Event.h"
#if defined(POCO_OS_FAMILY_WINDOWS)
#include "Poco/NamedEvent.h" #include "Poco/NamedEvent.h"
#endif
namespace Poco { namespace Poco {
namespace Util { namespace Util {
class Util_API ServerApplication: public Application class Util_API ServerApplication: public Application
/// A subclass of the Application class that is used /// A subclass of the Application class that is used
/// for implementing server applications. /// for implementing server applications.
/// ///
/// A ServerApplication allows for the application /// A ServerApplication allows for the application
/// to run as a Windows service or as a Unix daemon /// to run as a Windows service or as a Unix daemon
skipping to change at line 158 skipping to change at line 160
bool isInteractive() const; bool isInteractive() const;
/// Returns true if the application runs from the command li ne. /// Returns true if the application runs from the command li ne.
/// Returns false if the application runs as a Unix daemon /// Returns false if the application runs as a Unix daemon
/// or Windows service. /// or Windows service.
int run(int argc, char** argv); int run(int argc, char** argv);
/// Runs the application by performing additional initializa tions /// Runs the application by performing additional initializa tions
/// and calling the main() method. /// and calling the main() method.
int run(const std::vector<std::string>& args);
/// Runs the application by performing additional initializa
tions
/// and calling the main() method.
#if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING) #if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING)
int run(int argc, wchar_t** argv); int run(int argc, wchar_t** argv);
/// Runs the application by performing additional initializa tions /// Runs the application by performing additional initializa tions
/// and calling the main() method. /// and calling the main() method.
/// ///
/// This Windows-specific version of init is used for passin g /// This Windows-specific version of init is used for passin g
/// Unicode command line arguments from wmain(). /// Unicode command line arguments from wmain().
#endif #endif
static void terminate();
/// Sends a friendly termination request to the application.
/// If the application's main thread is waiting in
/// waitForTerminationRequest(), this method will return
/// and the application can shut down.
protected: protected:
int run(); int run();
void waitForTerminationRequest(); void waitForTerminationRequest();
#if !defined(_WIN32_WCE) #if !defined(_WIN32_WCE)
void defineOptions(OptionSet& options); void defineOptions(OptionSet& options);
#endif #endif
static void terminate();
private: private:
#if defined(POCO_OS_FAMILY_UNIX) #if defined(POCO_VXWORKS)
static Poco::Event _terminate;
#elif defined(POCO_OS_FAMILY_UNIX)
void handleDaemon(const std::string& name, const std::string& value) ; void handleDaemon(const std::string& name, const std::string& value) ;
void handlePidFile(const std::string& name, const std::string& value ); void handlePidFile(const std::string& name, const std::string& value );
bool isDaemon(int argc, char** argv); bool isDaemon(int argc, char** argv);
void beDaemon(); void beDaemon();
#elif defined(POCO_OS_FAMILY_WINDOWS) #elif defined(POCO_OS_FAMILY_WINDOWS)
#if !defined(_WIN32_WCE) #if !defined(_WIN32_WCE)
enum Action enum Action
{ {
SRV_RUN, SRV_RUN,
SRV_REGISTER, SRV_REGISTER,
skipping to change at line 231 skipping to change at line 244
// //
// Macro to implement main() // Macro to implement main()
// //
#if defined(_WIN32) && defined(POCO_WIN32_UTF8) #if defined(_WIN32) && defined(POCO_WIN32_UTF8)
#define POCO_SERVER_MAIN(App) \ #define POCO_SERVER_MAIN(App) \
int wmain(int argc, wchar_t** argv) \ int wmain(int argc, wchar_t** argv) \
{ \ { \
App app; \ App app; \
return app.run(argc, argv); \ return app.run(argc, argv); \
} }
#elif defined(POCO_VXWORKS)
#define POCO_SERVER_MAIN(App) \
int pocoSrvMain(const char* appName, ...) \
{ \
std::vector<std::string> args; \
args.push_back(std::string(appName)); \
va_list vargs; \
va_start(vargs, appName); \
const char* arg = va_arg(vargs, const char*); \
while (arg) \
{ \
args.push_back(std::string(arg)); \
arg = va_arg(vargs, const char*); \
} \
va_end(vargs); \
App app; \
return app.run(args); \
}
#else #else
#define POCO_SERVER_MAIN(App) \ #define POCO_SERVER_MAIN(App) \
int main(int argc, char** argv) \ int main(int argc, char** argv) \
{ \ { \
App app; \ App app; \
return app.run(argc, argv); \ return app.run(argc, argv); \
} }
#endif #endif
#endif // Util_ServerApplication_INCLUDED #endif // Util_ServerApplication_INCLUDED
 End of changes. 8 change blocks. 
3 lines changed or deleted 35 lines changed or added


 SharedLibrary.h   SharedLibrary.h 
// //
// SharedLibrary.h // SharedLibrary.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibrary class. // Definition of the SharedLibrary class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 45 skipping to change at line 45
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Foundation_SharedLibrary_INCLUDED #ifndef Foundation_SharedLibrary_INCLUDED
#define Foundation_SharedLibrary_INCLUDED #define Foundation_SharedLibrary_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#if defined(hpux) || defined(_hpux) #if defined(hpux) || defined(_hpux)
#include "Poco/SharedLibrary_HPUX.h" #include "Poco/SharedLibrary_HPUX.h"
#elif defined(POCO_VXWORKS)
#include "Poco/SharedLibrary_VX.h"
#elif defined(POCO_OS_FAMILY_UNIX) #elif defined(POCO_OS_FAMILY_UNIX)
#include "Poco/SharedLibrary_UNIX.h" #include "Poco/SharedLibrary_UNIX.h"
#elif defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) #elif defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8)
#include "Poco/SharedLibrary_WIN32U.h" #include "Poco/SharedLibrary_WIN32U.h"
#elif defined(POCO_OS_FAMILY_WINDOWS) #elif defined(POCO_OS_FAMILY_WINDOWS)
#include "Poco/SharedLibrary_WIN32.h" #include "Poco/SharedLibrary_WIN32.h"
#elif defined(POCO_OS_FAMILY_VMS) #elif defined(POCO_OS_FAMILY_VMS)
#include "Poco/SharedLibrary_VMS.h" #include "Poco/SharedLibrary_VMS.h"
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 SharedMemory.h   SharedMemory.h 
// //
// SharedMemory.h // SharedMemory.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/SharedMemory.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedMemory.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: SharedMemory // Module: SharedMemory
// //
// Definition of the SharedMemory class. // Definition of the SharedMemory class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 80 skipping to change at line 80
/// Creates or connects to a shared memory object with the g iven name. /// Creates or connects to a shared memory object with the g iven name.
/// ///
/// For maximum portability, name should be a valid Unix fil ename and not /// For maximum portability, name should be a valid Unix fil ename and not
/// contain any slashes or backslashes. /// contain any slashes or backslashes.
/// ///
/// An address hint can be passed to the system, specifying the desired /// An address hint can be passed to the system, specifying the desired
/// start address of the shared memory area. Whether the hin t /// start address of the shared memory area. Whether the hin t
/// is actually honored is, however, up to the system. Windo ws platform /// is actually honored is, however, up to the system. Windo ws platform
/// will generally ignore the hint. /// will generally ignore the hint.
/// ///
/// If server is set to false, the shared memory region will /// If server is set to true, the shared memory region will
be unlinked be unlinked
/// by calling shm_unlink (on POSIX platforms) when the Shar /// by calling shm_unlink() (on POSIX platforms) when the Sh
edMemory object is destroyed. aredMemory object is destroyed.
/// The server parameter is ignored on Windows platforms. /// The server parameter is ignored on Windows platforms.
SharedMemory(const File& file, AccessMode mode, const void* addrHint = 0); SharedMemory(const File& file, AccessMode mode, const void* addrHint = 0);
/// Maps the entire contents of file into a shared memory se gment. /// Maps the entire contents of file into a shared memory se gment.
/// ///
/// An address hint can be passed to the system, specifying the desired /// An address hint can be passed to the system, specifying the desired
/// start address of the shared memory area. Whether the hin t /// start address of the shared memory area. Whether the hin t
/// is actually honored is, however, up to the system. Windo ws platform /// is actually honored is, however, up to the system. Windo ws platform
/// will generally ignore the hint. /// will generally ignore the hint.
 End of changes. 2 change blocks. 
5 lines changed or deleted 5 lines changed or added


 SignalHandler.h   SignalHandler.h 
// //
// SignalHandler.h // SignalHandler.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/SignalHandler.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SignalHandler.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: SignalHandler // Module: SignalHandler
// //
// Definition of the SignalHandler class. // Definition of the SignalHandler class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 43 skipping to change at line 43
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWI SE, // FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWI SE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OT HER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Foundation_SignalHandler_INCLUDED #ifndef Foundation_SignalHandler_INCLUDED
#define Foundation_SignalHandler_INCLUDED #define Foundation_SignalHandler_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#if defined(POCO_OS_FAMILY_UNIX) #if defined(POCO_OS_FAMILY_UNIX) && !defined(POCO_VXWORKS)
#include <vector> #include <vector>
#include <setjmp.h> #include <setjmp.h>
namespace Poco { namespace Poco {
class Foundation_API SignalHandler class Foundation_API SignalHandler
/// This helper class simplifies the handling of POSIX signals. /// This helper class simplifies the handling of POSIX signals.
/// ///
/// The class provides a signal handler (installed with /// The class provides a signal handler (installed with
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 SocketDefs.h   SocketDefs.h 
// //
// SocketDefs.h // SocketDefs.h
// //
// $Id: //poco/1.4/Net/include/Poco/Net/SocketDefs.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/SocketDefs.h#2 $
// //
// Library: Net // Library: Net
// Package: NetCore // Package: NetCore
// Module: SocketDefs // Module: SocketDefs
// //
// Include platform-specific header files for sockets. // Include platform-specific header files for sockets.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 89 skipping to change at line 89
#define POCO_ETIMEDOUT WSAETIMEDOUT #define POCO_ETIMEDOUT WSAETIMEDOUT
#define POCO_ECONNREFUSED WSAECONNREFUSED #define POCO_ECONNREFUSED WSAECONNREFUSED
#define POCO_EHOSTDOWN WSAEHOSTDOWN #define POCO_EHOSTDOWN WSAEHOSTDOWN
#define POCO_EHOSTUNREACH WSAEHOSTUNREACH #define POCO_EHOSTUNREACH WSAEHOSTUNREACH
#define POCO_ESYSNOTREADY WSASYSNOTREADY #define POCO_ESYSNOTREADY WSASYSNOTREADY
#define POCO_ENOTINIT WSANOTINITIALISED #define POCO_ENOTINIT WSANOTINITIALISED
#define POCO_HOST_NOT_FOUND WSAHOST_NOT_FOUND #define POCO_HOST_NOT_FOUND WSAHOST_NOT_FOUND
#define POCO_TRY_AGAIN WSATRY_AGAIN #define POCO_TRY_AGAIN WSATRY_AGAIN
#define POCO_NO_RECOVERY WSANO_RECOVERY #define POCO_NO_RECOVERY WSANO_RECOVERY
#define POCO_NO_DATA WSANO_DATA #define POCO_NO_DATA WSANO_DATA
#elif defined(POCO_VXWORKS)
#include <hostLib.h>
#include <ifLib.h>
#include <inetLib.h>
#include <ioLib.h>
#include <resolvLib.h>
#include <types.h>
#include <socket.h>
#include <netinet/tcp.h>
#define POCO_INVALID_SOCKET -1
#define poco_socket_t int
#define poco_socklen_t int
#define poco_closesocket(s) ::close(s)
#define POCO_EINTR EINTR
#define POCO_EACCES EACCES
#define POCO_EFAULT EFAULT
#define POCO_EINVAL EINVAL
#define POCO_EMFILE EMFILE
#define POCO_EAGAIN EAGAIN
#define POCO_EWOULDBLOCK EWOULDBLOCK
#define POCO_EINPROGRESS EINPROGRESS
#define POCO_EALREADY EALREADY
#define POCO_ENOTSOCK ENOTSOCK
#define POCO_EDESTADDRREQ EDESTADDRREQ
#define POCO_EMSGSIZE EMSGSIZE
#define POCO_EPROTOTYPE EPROTOTYPE
#define POCO_ENOPROTOOPT ENOPROTOOPT
#define POCO_EPROTONOSUPPORT EPROTONOSUPPORT
#define POCO_ESOCKTNOSUPPORT ESOCKTNOSUPPORT
#define POCO_ENOTSUP ENOTSUP
#define POCO_EPFNOSUPPORT EPFNOSUPPORT
#define POCO_EAFNOSUPPORT EAFNOSUPPORT
#define POCO_EADDRINUSE EADDRINUSE
#define POCO_EADDRNOTAVAIL EADDRNOTAVAIL
#define POCO_ENETDOWN ENETDOWN
#define POCO_ENETUNREACH ENETUNREACH
#define POCO_ENETRESET ENETRESET
#define POCO_ECONNABORTED ECONNABORTED
#define POCO_ECONNRESET ECONNRESET
#define POCO_ENOBUFS ENOBUFS
#define POCO_EISCONN EISCONN
#define POCO_ENOTCONN ENOTCONN
#define POCO_ESHUTDOWN ESHUTDOWN
#define POCO_ETIMEDOUT ETIMEDOUT
#define POCO_ECONNREFUSED ECONNREFUSED
#define POCO_EHOSTDOWN EHOSTDOWN
#define POCO_EHOSTUNREACH EHOSTUNREACH
#define POCO_ESYSNOTREADY -4
#define POCO_ENOTINIT -5
#define POCO_HOST_NOT_FOUND HOST_NOT_FOUND
#define POCO_TRY_AGAIN TRY_AGAIN
#define POCO_NO_RECOVERY NO_RECOVERY
#define POCO_NO_DATA NO_DATA
#elif defined(POCO_OS_FAMILY_UNIX) || defined(POCO_OS_FAMILY_VMS) #elif defined(POCO_OS_FAMILY_UNIX) || defined(POCO_OS_FAMILY_VMS)
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#if POCO_OS != POCO_OS_HPUX #if POCO_OS != POCO_OS_HPUX
#include <sys/select.h> #include <sys/select.h>
#endif #endif
#include <sys/ioctl.h> #include <sys/ioctl.h>
#if defined(POCO_OS_FAMILY_VMS) #if defined(POCO_OS_FAMILY_VMS)
 End of changes. 2 change blocks. 
1 lines changed or deleted 54 lines changed or added


 SystemConfiguration.h   SystemConfiguration.h 
// //
// SystemConfiguration.h // SystemConfiguration.h
// //
// $Id: //poco/1.4/Util/include/Poco/Util/SystemConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/SystemConfiguration.h#2 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: SystemConfiguration // Module: SystemConfiguration
// //
// Definition of the SystemConfiguration class. // Definition of the SystemConfiguration class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 97 skipping to change at line 97
static const std::string OSNAME; static const std::string OSNAME;
static const std::string OSVERSION; static const std::string OSVERSION;
static const std::string OSARCHITECTURE; static const std::string OSARCHITECTURE;
static const std::string NODENAME; static const std::string NODENAME;
static const std::string NODEID; static const std::string NODEID;
static const std::string CURRENTDIR; static const std::string CURRENTDIR;
static const std::string HOMEDIR; static const std::string HOMEDIR;
static const std::string TEMPDIR; static const std::string TEMPDIR;
static const std::string DATETIME; static const std::string DATETIME;
#if !defined(POCO_VXWORKS)
static const std::string PID; static const std::string PID;
#endif
static const std::string ENV; static const std::string ENV;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
#endif // Util_SystemConfiguration_INCLUDED #endif // Util_SystemConfiguration_INCLUDED
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 Task.h   Task.h 
// //
// Task.h // Task.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Task.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Task.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Tasks // Package: Tasks
// Module: Tasks // Module: Tasks
// //
// Definition of the Task class. // Definition of the Task class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 81 skipping to change at line 81
/// Creates the Task. /// Creates the Task.
const std::string& name() const; const std::string& name() const;
/// Returns the task's name. /// Returns the task's name.
float progress() const; float progress() const;
/// Returns the task's progress. /// Returns the task's progress.
/// The value will be between 0.0 (just started) /// The value will be between 0.0 (just started)
/// and 1.0 (completed). /// and 1.0 (completed).
void cancel(); virtual void cancel();
/// Requests the task to cancel itself. For cancellation /// Requests the task to cancel itself. For cancellation
/// to work, the task's runTask() method must periodically /// to work, the task's runTask() method must periodically
/// call isCancelled() and react accordingly. /// call isCancelled() and react accordingly.
///
/// Can be overridden to implement custom behavior,
/// but the base class implementation of cancel() should
/// be called to ensure proper behavior.
bool isCancelled() const; bool isCancelled() const;
/// Returns true if cancellation of the task has been /// Returns true if cancellation of the task has been
/// requested. /// requested.
/// ///
/// A Task's runTask() method should periodically /// A Task's runTask() method should periodically
/// call this method and stop whatever it is doing in an /// call this method and stop whatever it is doing in an
/// orderly way when this method returns true. /// orderly way when this method returns true.
TaskState state() const; TaskState state() const;
 End of changes. 3 change blocks. 
2 lines changed or deleted 6 lines changed or added


 TaskManager.h   TaskManager.h 
// //
// TaskManager.h // TaskManager.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/TaskManager.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/TaskManager.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Tasks // Package: Tasks
// Module: Tasks // Module: Tasks
// //
// Definition of the TaskManager class. // Definition of the TaskManager class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 94 skipping to change at line 94
/// ///
/// The TaskManager takes ownership of the Task object /// The TaskManager takes ownership of the Task object
/// and deletes it when it it finished. /// and deletes it when it it finished.
void cancelAll(); void cancelAll();
/// Requests cancellation of all tasks. /// Requests cancellation of all tasks.
void joinAll(); void joinAll();
/// Waits for the completion of all the threads /// Waits for the completion of all the threads
/// in the TaskManager's thread pool. /// in the TaskManager's thread pool.
///
/// Note: joinAll() will wait for ALL tasks in the
/// TaskManager's ThreadPool to complete. If the
/// ThreadPool has threads created by other
/// facilities, these threads must also complete
/// before joinAll() can return.
TaskList taskList() const; TaskList taskList() const;
/// Returns a copy of the internal task list. /// Returns a copy of the internal task list.
int count() const; int count() const;
/// Returns the number of tasks in the internal task list. /// Returns the number of tasks in the internal task list.
void addObserver(const AbstractObserver& observer); void addObserver(const AbstractObserver& observer);
/// Registers an observer with the NotificationCenter. /// Registers an observer with the NotificationCenter.
/// Usage: /// Usage:
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 Thread_POSIX.h   Thread_POSIX.h 
// //
// Thread_POSIX.h // Thread_POSIX.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Thread_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Thread_POSIX.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the ThreadImpl class for POSIX Threads. // Definition of the ThreadImpl class for POSIX Threads.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 163 skipping to change at line 163
int prio; int prio;
int osPrio; int osPrio;
Event done; Event done;
std::size_t stackSize; std::size_t stackSize;
}; };
AutoPtr<ThreadData> _pData; AutoPtr<ThreadData> _pData;
static CurrentThreadHolder _currentThreadHolder; static CurrentThreadHolder _currentThreadHolder;
#if defined(POCO_OS_FAMILY_UNIX) #if defined(POCO_OS_FAMILY_UNIX) && !defined(POCO_VXWORKS)
SignalHandler::JumpBufferVec _jumpBufferVec; SignalHandler::JumpBufferVec _jumpBufferVec;
friend class SignalHandler; friend class SignalHandler;
#endif #endif
}; };
// //
// inlines // inlines
// //
inline int ThreadImpl::getPriorityImpl() const inline int ThreadImpl::getPriorityImpl() const
{ {
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Types.h   Types.h 
// //
// Types.h // Types.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Types.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Types.h#2 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Types // Module: Types
// //
// Definitions of fixed-size integer types for various platforms // Definitions of fixed-size integer types for various platforms
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 204 skipping to change at line 204
#if _MIPS_SZLONG == 64 #if _MIPS_SZLONG == 64
#define POCO_PTR_IS_64_BIT 1 #define POCO_PTR_IS_64_BIT 1
#define POCO_LONG_IS_64_BIT 1 #define POCO_LONG_IS_64_BIT 1
typedef signed long Int64; typedef signed long Int64;
typedef unsigned long UInt64; typedef unsigned long UInt64;
#else #else
typedef signed long long Int64; typedef signed long long Int64;
typedef unsigned long long UInt64; typedef unsigned long long UInt64;
#endif #endif
#define POCO_HAVE_INT64 1 #define POCO_HAVE_INT64 1
#elif defined(_DIAB_TOOL)
typedef signed char Int8;
typedef unsigned char UInt8;
typedef signed short Int16;
typedef unsigned short UInt16;
typedef signed int Int32;
typedef unsigned int UInt32;
typedef signed long IntPtr;
typedef unsigned long UIntPtr;
typedef signed long long Int64;
typedef unsigned long long UInt64;
#define POCO_HAVE_INT64 1
#endif #endif
} // namespace Poco } // namespace Poco
#endif // Foundation_Types_INCLUDED #endif // Foundation_Types_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 13 lines changed or added


 Version.h   Version.h 
// //
// Version.h // Version.h
// //
// $Id: //poco/1.4/Foundation/include/Poco/Version.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Version.h#4 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Version // Module: Version
// //
// Version information for the POCO C++ Libraries. // Version information for the POCO C++ Libraries.
// //
// Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 55 skipping to change at line 55
// - AA is the major version number, // - AA is the major version number,
// - BB is the minor version number, // - BB is the minor version number,
// - CC is the revision number, and // - CC is the revision number, and
// - DD is the patch level number. // - DD is the patch level number.
// Note that some patch level numbers have // Note that some patch level numbers have
// a special meaning: // a special meaning:
// Dx are development releases // Dx are development releases
// Ax are alpha releases // Ax are alpha releases
// Bx are beta releases // Bx are beta releases
// //
#define POCO_VERSION 0x01040000 #define POCO_VERSION 0x01040100
#endif // Foundation_Version_INCLUDED #endif // Foundation_Version_INCLUDED
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 WinRegistryKey.h   WinRegistryKey.h 
// //
// WinRegistryKey.h // WinRegistryKey.h
// //
// $Id: //poco/1.4/Util/include/Poco/Util/WinRegistryKey.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/WinRegistryKey.h#2 $
// //
// Library: Util // Library: Util
// Package: Windows // Package: Windows
// Module: WinRegistryKey // Module: WinRegistryKey
// //
// Definition of the WinRegistryKey class. // Definition of the WinRegistryKey class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 66 skipping to change at line 66
typedef std::vector<std::string> Values; typedef std::vector<std::string> Values;
enum Type enum Type
{ {
REGT_NONE = 0, REGT_NONE = 0,
REGT_STRING = 1, REGT_STRING = 1,
REGT_STRING_EXPAND = 2, REGT_STRING_EXPAND = 2,
REGT_DWORD = 4 REGT_DWORD = 4
}; };
WinRegistryKey(const std::string& key, bool readOnly = false); WinRegistryKey(const std::string& key, bool readOnly = false, REGSAM extraSam = 0);
/// Creates the WinRegistryKey. /// Creates the WinRegistryKey.
/// ///
/// The key must start with one of the root key names /// The key must start with one of the root key names
/// like HKEY_CLASSES_ROOT, e.g. HKEY_LOCAL_MACHINE\SYSTEM\C urrentControlSet\Services. /// like HKEY_CLASSES_ROOT, e.g. HKEY_LOCAL_MACHINE\SYSTEM\C urrentControlSet\Services.
/// ///
/// If readOnly is true, then only read access to the regist ry /// If readOnly is true, then only read access to the regist ry
/// is available and any attempt to write to the registry wi ll /// is available and any attempt to write to the registry wi ll
/// result in an exception. /// result in an exception.
///
/// extraSam is used to pass extra flags (in addition to KEY
_READ and KEY_WRITE)
/// to the samDesired argument of RegOpenKeyEx() or RegCreat
eKeyEx().
WinRegistryKey(HKEY hRootKey, const std::string& subKey, bool readOn ly = false); WinRegistryKey(HKEY hRootKey, const std::string& subKey, bool readOn ly = false, REGSAM extraSam = 0);
/// Creates the WinRegistryKey. /// Creates the WinRegistryKey.
/// ///
/// If readOnly is true, then only read access to the regist ry /// If readOnly is true, then only read access to the regist ry
/// is available and any attempt to write to the registry wi ll /// is available and any attempt to write to the registry wi ll
/// result in an exception. /// result in an exception.
///
/// extraSam is used to pass extra flags (in addition to KEY
_READ and KEY_WRITE)
/// to the samDesired argument of RegOpenKeyEx() or RegCreat
eKeyEx().
~WinRegistryKey(); ~WinRegistryKey();
/// Destroys the WinRegistryKey. /// Destroys the WinRegistryKey.
void setString(const std::string& name, const std::string& value); void setString(const std::string& name, const std::string& value);
/// Sets the string value (REG_SZ) with the given name. /// Sets the string value (REG_SZ) with the given name.
/// An empty name denotes the default value. /// An empty name denotes the default value.
std::string getString(const std::string& name); std::string getString(const std::string& name);
/// Returns the string value (REG_SZ) with the given name. /// Returns the string value (REG_SZ) with the given name.
skipping to change at line 161 skipping to change at line 167
private: private:
WinRegistryKey(); WinRegistryKey();
WinRegistryKey(const WinRegistryKey&); WinRegistryKey(const WinRegistryKey&);
WinRegistryKey& operator = (const WinRegistryKey&); WinRegistryKey& operator = (const WinRegistryKey&);
HKEY _hRootKey; HKEY _hRootKey;
std::string _subKey; std::string _subKey;
HKEY _hKey; HKEY _hKey;
bool _readOnly; bool _readOnly;
REGSAM _extraSam;
}; };
// //
// inlines // inlines
// //
inline bool WinRegistryKey::isReadOnly() const inline bool WinRegistryKey::isReadOnly() const
{ {
return _readOnly; return _readOnly;
} }
 End of changes. 6 change blocks. 
3 lines changed or deleted 14 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/