| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|