ASCIIEncoding.h   ASCIIEncoding.h 
// //
// ASCIIEncoding.h // ASCIIEncoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ASCIIEncoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/ASCIIEncoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: ASCIIEncoding // Module: ASCIIEncoding
// //
// Definition of the ASCIIEncoding class. // Definition of the ASCIIEncoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 AbstractCache.h   AbstractCache.h 
// //
// AbstractCache.h // AbstractCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AbstractCache.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: AbstractCache // Module: AbstractCache
// //
// Definition of the AbstractCache class. // Definition of the AbstractCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AbstractCache_INCLUDED #ifndef Foundation_AbstractCache_INCLUDED
#define Foundation_AbstractCache_INCLUDED #define Foundation_AbstractCache_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/Mutex.h" #include "Poco/Mutex.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include "Poco/FIFOEvent.h" #include "Poco/FIFOEvent.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include "Poco/Delegate.h" #include "Poco/Delegate.h"
#include "Poco/SharedPtr.h" #include "Poco/SharedPtr.h"
#include <map> #include <map>
#include <set> #include <set>
#include <cstddef> #include <cstddef>
namespace Poco { namespace Poco {
template <class TKey, class TValue, class TStrategy> template <class TKey, class TValue, class TStrategy, class TMutex = FastMut ex, class TEventMutex = FastMutex>
class AbstractCache class AbstractCache
/// An AbstractCache is the interface of all caches. /// An AbstractCache is the interface of all caches.
{ {
public: public:
FIFOEvent<const KeyValueArgs<TKey, TValue > > Add; FIFOEvent<const KeyValueArgs<TKey, TValue >, TEventMutex > Add;
FIFOEvent<const TKey> Remove; FIFOEvent<const KeyValueArgs<TKey, TValue >, TEventMutex > Update;
FIFOEvent<const TKey> Get; FIFOEvent<const TKey, TEventMutex> Remove;
FIFOEvent<const EventArgs> Clear; FIFOEvent<const TKey, TEventMutex> Get;
FIFOEvent<const EventArgs, TEventMutex> Clear;
typedef std::map<TKey, SharedPtr<TValue > > DataHolder; typedef std::map<TKey, SharedPtr<TValue > > DataHolder;
typedef typename DataHolder::iterator Iterator; typedef typename DataHolder::iterator Iterator;
typedef typename DataHolder::const_iterator ConstIterator; typedef typename DataHolder::const_iterator ConstIterator;
typedef std::set<TKey> KeySet; typedef std::set<TKey> KeySet;
AbstractCache() AbstractCache()
{ {
initialize(); initialize();
} }
skipping to change at line 89 skipping to change at line 90
virtual ~AbstractCache() virtual ~AbstractCache()
{ {
uninitialize(); uninitialize();
} }
void add(const TKey& key, const TValue& val) void add(const TKey& key, const TValue& val)
/// Adds the key value pair to the cache. /// Adds the key value pair to the cache.
/// If for the key already an entry exists, it will be overw ritten. /// If for the key already an entry exists, it will be overw ritten.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doAdd(key, val); doAdd(key, val);
} }
void add(const TKey& key, SharedPtr<TValue >; val) void update(const TKey& key, const TValue&; val)
/// Adds the key value pair to the cache. Note that adding a NULL SharedPtr will fail! /// Adds the key value pair to the cache. Note that adding a NULL SharedPtr will fail!
/// If for the key already an entry exists, it will be overw ritten. /// If for the key already an entry exists, it will be overw ritten.
/// The difference to add is that no remove or add events ar
e thrown in this case,
/// just a simply silent update is performed
/// If the key doesnot exist the behavior is equal to add, i
e. an add event is thrown
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doUpdate(key, val);
}
void add(const TKey& key, SharedPtr<TValue > val)
/// Adds the key value pair to the cache. Note that adding a
NULL SharedPtr will fail!
/// If for the key already an entry exists, it will be overw
ritten, ie. first a remove event
/// is thrown, then a add event
{
typename TMutex::ScopedLock lock(_mutex);
doAdd(key, val); doAdd(key, val);
} }
void update(const TKey& key, SharedPtr<TValue > val)
/// Adds the key value pair to the cache. Note that adding a
NULL SharedPtr will fail!
/// If for the key already an entry exists, it will be overw
ritten.
/// The difference to add is that no remove or add events ar
e thrown in this case,
/// just an Update is thrown
/// If the key doesnot exist the behavior is equal to add, i
e. an add event is thrown
{
typename TMutex::ScopedLock lock(_mutex);
doUpdate(key, val);
}
void remove(const TKey& key) void remove(const TKey& key)
/// Removes an entry from the cache. If the entry is not fou nd, /// Removes an entry from the cache. If the entry is not fou nd,
/// the remove is ignored. /// the remove is ignored.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
Iterator it = _data.find(key); Iterator it = _data.find(key);
doRemove(it); doRemove(it);
} }
bool has(const TKey& key) const bool has(const TKey& key) const
/// Returns true if the cache contains a value for the key. /// Returns true if the cache contains a value for the key.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
return doHas(key); return doHas(key);
} }
SharedPtr<TValue> get(const TKey& key) SharedPtr<TValue> get(const TKey& key)
/// Returns a SharedPtr of the value. The SharedPointer will remain valid /// Returns a SharedPtr of the value. The SharedPointer will remain valid
/// even when cache replacement removes the element. /// even when cache replacement removes the element.
/// If for the key no value exists, an empty SharedPtr is re turned. /// If for the key no value exists, an empty SharedPtr is re turned.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
return doGet (key); return doGet (key);
} }
void clear() void clear()
/// Removes all elements from the cache. /// Removes all elements from the cache.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doClear(); doClear();
} }
std::size_t size() std::size_t size()
/// Returns the number of cached elements /// Returns the number of cached elements
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doReplace(); doReplace();
return _data.size(); return _data.size();
} }
void forceReplace() void forceReplace()
/// Forces cache replacement. Note that Poco's cache strateg y use for efficiency reason no background thread /// Forces cache replacement. Note that Poco's cache strateg y use for efficiency reason no background thread
/// which periodically triggers cache replacement. Cache Rep lacement is only started when the cache is modified /// which periodically triggers cache replacement. Cache Rep lacement is only started when the cache is modified
/// from outside, i.e. add is called, or when a user tries t o access an cache element via get. /// from outside, i.e. add is called, or when a user tries t o access an cache element via get.
/// In some cases, i.e. expire based caching where for a lon g time no access to the cache happens, /// In some cases, i.e. expire based caching where for a lon g time no access to the cache happens,
/// it might be desirable to be able to trigger cache replac ement manually. /// it might be desirable to be able to trigger cache replac ement manually.
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doReplace(); doReplace();
} }
std::set<TKey> getAllKeys() std::set<TKey> getAllKeys()
/// Returns a copy of all keys stored in the cache /// Returns a copy of all keys stored in the cache
{ {
FastMutex::ScopedLock lock(_mutex); typename TMutex::ScopedLock lock(_mutex);
doReplace(); doReplace();
ConstIterator it = _data.begin(); ConstIterator it = _data.begin();
ConstIterator itEnd = _data.end(); ConstIterator itEnd = _data.end();
std::set<TKey> result; std::set<TKey> result;
for (; it != itEnd; ++it) for (; it != itEnd; ++it)
result.insert(it->first); result.insert(it->first);
return result; return result;
} }
protected: protected:
mutable FIFOEvent<ValidArgs<TKey> > IsValid; mutable FIFOEvent<ValidArgs<TKey> > IsValid;
mutable FIFOEvent<KeySet> Replace; mutable FIFOEvent<KeySet> Replace;
void initialize() void initialize()
/// Sets up event registration. /// Sets up event registration.
{ {
Add += Delegate<TStrategy, const KeyValueArgs<TK ey, TValue> >(&_strategy, &TStrategy::onAdd); Add += Delegate<TStrategy, const KeyValueArgs<TK ey, TValue> >(&_strategy, &TStrategy::onAdd);
Update += Delegate<TStrategy, const KeyValueArgs<TKey, TVal ue> >(&_strategy, &TStrategy::onUpdate);
Remove += Delegate<TStrategy, const TKey>(&_strategy, &TStr ategy::onRemove); Remove += Delegate<TStrategy, const TKey>(&_strategy, &TStr ategy::onRemove);
Get += Delegate<TStrategy, const TKey>(&_strateg y, &TStrategy::onGet); Get += Delegate<TStrategy, const TKey>(&_strateg y, &TStrategy::onGet);
Clear += Delegate<TStrategy, const EventArgs>(&_strategy, &TStrategy::onClear); Clear += Delegate<TStrategy, const EventArgs>(&_strategy, &TStrategy::onClear);
IsValid += Delegate<TStrategy, ValidArgs<TKey> >(&_strategy, &TStrategy::onIsValid); IsValid += Delegate<TStrategy, ValidArgs<TKey> >(&_strategy, &TStrategy::onIsValid);
Replace += Delegate<TStrategy, KeySet>(&_strategy, &TStrateg y::onReplace); Replace += Delegate<TStrategy, KeySet>(&_strategy, &TStrateg y::onReplace);
} }
void uninitialize() void uninitialize()
/// Reverts event registration. /// Reverts event registration.
{ {
Add -= Delegate<TStrategy, const KeyValueArgs<TK ey, TValue> >(&_strategy, &TStrategy::onAdd ); Add -= Delegate<TStrategy, const KeyValueArgs<TK ey, TValue> >(&_strategy, &TStrategy::onAdd );
Update -= Delegate<TStrategy, const KeyValueArgs<TKey, TVal ue> >(&_strategy, &TStrategy::onUpdate);
Remove -= Delegate<TStrategy, const TKey>(&_strategy, &TStr ategy::onRemove); Remove -= Delegate<TStrategy, const TKey>(&_strategy, &TStr ategy::onRemove);
Get -= Delegate<TStrategy, const TKey>(&_strateg y, &TStrategy::onGet); Get -= Delegate<TStrategy, const TKey>(&_strateg y, &TStrategy::onGet);
Clear -= Delegate<TStrategy, const EventArgs>(&_strategy, &TStrategy::onClear); Clear -= Delegate<TStrategy, const EventArgs>(&_strategy, &TStrategy::onClear);
IsValid -= Delegate<TStrategy, ValidArgs<TKey> >(&_strategy, &TStrategy::onIsValid); IsValid -= Delegate<TStrategy, ValidArgs<TKey> >(&_strategy, &TStrategy::onIsValid);
Replace -= Delegate<TStrategy, KeySet>(&_strategy, &TStrateg y::onReplace); Replace -= Delegate<TStrategy, KeySet>(&_strategy, &TStrateg y::onReplace);
} }
void doAdd(const TKey& key, const TValue& val) void doAdd(const TKey& key, const TValue& val)
/// Adds the key value pair to the cache. /// Adds the key value pair to the cache.
/// If for the key already an entry exists, it will be overw ritten. /// If for the key already an entry exists, it will be overw ritten.
skipping to change at line 220 skipping to change at line 246
Iterator it = _data.find(key); Iterator it = _data.find(key);
doRemove(it); doRemove(it);
KeyValueArgs<TKey, TValue> args(key, *val); KeyValueArgs<TKey, TValue> args(key, *val);
Add.notify(this, args); Add.notify(this, args);
_data.insert(std::make_pair(key, val)); _data.insert(std::make_pair(key, val));
doReplace(); doReplace();
} }
void doUpdate(const TKey& key, const TValue& val)
/// Adds the key value pair to the cache.
/// If for the key already an entry exists, it will be overw
ritten.
{
KeyValueArgs<TKey, TValue> args(key, val);
Iterator it = _data.find(key);
if (it == _data.end())
{
Add.notify(this, args);
_data.insert(std::make_pair(key, SharedPtr<TValue>(n
ew TValue(val))));
}
else
{
Update.notify(this, args);
it->second = SharedPtr<TValue>(new TValue(val));
}
doReplace();
}
void doUpdate(const TKey& key, SharedPtr<TValue>& val)
/// Adds the key value pair to the cache.
/// If for the key already an entry exists, it will be overw
ritten.
{
KeyValueArgs<TKey, TValue> args(key, *val);
Iterator it = _data.find(key);
if (it == _data.end())
{
Add.notify(this, args);
_data.insert(std::make_pair(key, val));
}
else
{
Update.notify(this, args);
it->second = val;
}
doReplace();
}
void doRemove(Iterator it) void doRemove(Iterator it)
/// Removes an entry from the cache. If the entry is not fou nd /// Removes an entry from the cache. If the entry is not fou nd
/// the remove is ignored. /// the remove is ignored.
{ {
if (it != _data.end()) if (it != _data.end())
{ {
Remove.notify(this, it->first); Remove.notify(this, it->first);
_data.erase(it); _data.erase(it);
} }
} }
skipping to change at line 300 skipping to change at line 366
for (; it != endIt; ++it) for (; it != endIt; ++it)
{ {
Iterator itH = _data.find(*it); Iterator itH = _data.find(*it);
doRemove(itH); doRemove(itH);
} }
} }
TStrategy _strategy; TStrategy _strategy;
mutable DataHolder _data; mutable DataHolder _data;
mutable FastMutex _mutex; mutable TMutex _mutex;
private: private:
AbstractCache(const AbstractCache& aCache); AbstractCache(const AbstractCache& aCache);
AbstractCache& operator = (const AbstractCache& aCache); AbstractCache& operator = (const AbstractCache& aCache);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_AbstractCache_INCLUDED
 End of changes. 21 change blocks. 
19 lines changed or deleted 96 lines changed or added


 AbstractConfiguration.h   AbstractConfiguration.h 
// //
// AbstractConfiguration.h // AbstractConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/AbstractConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/AbstractConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: AbstractConfiguration // Module: AbstractConfiguration
// //
// Definition of the AbstractConfiguration class. // Definition of the AbstractConfiguration 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_AbstractConfiguration_INCLUDED #ifndef Util_AbstractConfiguration_INCLUDED
#define Util_AbstractConfiguration_INCLUDED #define Util_AbstractConfiguration_INCLUDED
#include "Poco/Util/Util.h" #include "Poco/Util/Util.h"
#include "Poco/Mutex.h" #include "Poco/Mutex.h"
#include "Poco/RefCountedObject.h" #include "Poco/RefCountedObject.h"
#include "Poco/BasicEvent.h"
#include <vector> #include <vector>
#include <utility>
namespace Poco { namespace Poco {
namespace Util { namespace Util {
class Util_API AbstractConfiguration: public Poco::RefCountedObject class Util_API AbstractConfiguration: public Poco::RefCountedObject
/// AbstractConfiguration is an abstract base class for different /// AbstractConfiguration is an abstract base class for different
/// kinds of configuration data, such as INI files, property files, /// kinds of configuration data, such as INI files, property files,
/// XML configuration files or the Windows Registry. /// XML configuration files or the Windows Registry.
/// ///
/// Configuration property keys have a hierarchical format, consisti ng /// Configuration property keys have a hierarchical format, consisti ng
skipping to change at line 67 skipping to change at line 69
/// Keys are case sensitive. /// Keys are case sensitive.
/// ///
/// All public methods are synchronized, so the class is safe for mu ltithreaded use. /// All public methods are synchronized, so the class is safe for mu ltithreaded use.
/// AbstractConfiguration implements reference counting based garbag e collection. /// AbstractConfiguration implements reference counting based garbag e collection.
/// ///
/// Subclasses must override the getRaw(), setRaw() and enumerate() methods. /// Subclasses must override the getRaw(), setRaw() and enumerate() methods.
{ {
public: public:
typedef std::vector<std::string> Keys; typedef std::vector<std::string> Keys;
class KeyValue
/// A key-value pair, used as event argument.
{
public:
KeyValue(const std::string& key, std::string& value):
_key(key),
_value(value)
{
}
const std::string& key() const
{
return _key;
}
const std::string& value() const
{
return _value;
}
std::string& value()
{
return _value;
}
private:
const std::string& _key;
std::string& _value;
};
Poco::BasicEvent<KeyValue> propertyChanging;
/// Fired before a property value is changed or
/// a new property is created.
///
/// Can be used to check or fix a property value,
/// or to cancel the change by throwing an exception.
///
/// The event delegate can use one of the get...() functions
/// to obtain the current property value.
Poco::BasicEvent<const KeyValue> propertyChanged;
/// Fired after a property value has been changed
/// or a property has been created.
Poco::BasicEvent<const std::string> propertyRemoving;
/// Fired before a property is removed by a
/// call to remove().
///
/// Note: This will even be fired if the key
/// does not exist and the remove operation will
/// fail with an exception.
Poco::BasicEvent<const std::string> propertyRemoved;
/// Fired after a property has been removed by
/// a call to remove().
AbstractConfiguration(); AbstractConfiguration();
/// Creates the AbstractConfiguration. /// Creates the AbstractConfiguration.
bool hasProperty(const std::string& key) const; bool hasProperty(const std::string& key) const;
/// Returns true iff the property with the given key exists. /// Returns true iff the property with the given key exists.
bool hasOption(const std::string& key) const; bool hasOption(const std::string& key) const;
/// Returns true iff the property with the given key exists. /// Returns true iff the property with the given key exists.
///
/// Same as hasProperty().
bool has(const std::string& key) const;
/// Returns true iff the property with the given key exists.
///
/// Same as hasProperty(). /// Same as hasProperty().
std::string getString(const std::string& key) const; std::string getString(const std::string& key) const;
/// Returns the string value of the property with the given name. /// Returns the string value of the property with the given name.
/// Throws a NotFoundException if the key does not exist. /// Throws a NotFoundException if the key does not exist.
/// If the value contains references to other properties (${ <property>}), these /// If the value contains references to other properties (${ <property>}), these
/// are expanded. /// are expanded.
std::string getString(const std::string& key, const std::string& def aultValue) const; std::string getString(const std::string& key, const std::string& def aultValue) const;
/// If a property with the given key exists, returns the pro perty's string value, /// If a property with the given key exists, returns the pro perty's string value,
skipping to change at line 134 skipping to change at line 198
double getDouble(const std::string& key, double defaultValue) const; double getDouble(const std::string& key, double defaultValue) const;
/// If a property with the given key exists, returns the pro perty's double value, /// If a property with the given key exists, returns the pro perty's double value,
/// otherwise returns the given default value. /// otherwise returns the given default value.
/// Throws a SyntaxException if the property can not be conv erted /// Throws a SyntaxException if the property can not be conv erted
/// to an double. /// to an double.
/// If the value contains references to other properties (${ <property>}), these /// If the value contains references to other properties (${ <property>}), these
/// are expanded. /// are expanded.
bool getBool(const std::string& key) const; bool getBool(const std::string& key) const;
/// Returns the double value of the property with the given name. /// Returns the boolean value of the property with the given name.
/// Throws a NotFoundException if the key does not exist. /// Throws a NotFoundException if the key does not exist.
/// Throws a SyntaxException if the property can not be conv erted /// Throws a SyntaxException if the property can not be conv erted
/// to a double. /// to a boolean.
/// If the value contains references to other properties (${ <property>}), these /// If the value contains references to other properties (${ <property>}), these
/// are expanded. /// are expanded.
bool getBool(const std::string& key, bool defaultValue) const; bool getBool(const std::string& key, bool defaultValue) const;
/// If a property with the given key exists, returns the pro perty's bool value, /// If a property with the given key exists, returns the pro perty's boolean value,
/// otherwise returns the given default value. /// otherwise returns the given default value.
/// Throws a SyntaxException if the property can not be conv erted /// Throws a SyntaxException if the property can not be conv erted
/// to a boolean. /// to a boolean.
/// The following string values can be converted into a bool ean: /// The following string values can be converted into a bool ean:
/// - numerical values: non zero becomes true, zero become s false /// - numerical values: non zero becomes true, zero become s false
/// - strings: true, yes, on become true, false, no, off b ecome false /// - strings: true, yes, on become true, false, no, off b ecome false
/// Case does not matter. /// Case does not matter.
/// If the value contains references to other properties (${ <property>}), these /// If the value contains references to other properties (${ <property>}), these
/// are expanded. /// are expanded.
skipping to change at line 190 skipping to change at line 254
/// Creates a view (see ConfigurationView) into the configur ation. /// Creates a view (see ConfigurationView) into the configur ation.
std::string expand(const std::string& value) const; std::string expand(const std::string& value) const;
/// Replaces all occurences of ${<property>} in value with t he /// Replaces all occurences of ${<property>} in value with t he
/// value of the <property>. If <property> does not exist, /// value of the <property>. If <property> does not exist,
/// nothing is changed. /// nothing is changed.
/// ///
/// If a circular property reference is detected, a /// If a circular property reference is detected, a
/// CircularReferenceException will be thrown. /// CircularReferenceException will be thrown.
void remove(const std::string& key);
/// Removes the property with the given key.
///
/// Does nothing if the key does not exist.
protected: protected:
virtual bool getRaw(const std::string& key, std::string& value) cons t = 0; virtual bool getRaw(const std::string& key, std::string& value) cons t = 0;
/// If the property with the given key exists, stores the pr operty's value /// If the property with the given key exists, stores the pr operty's value
/// in value and returns true. Otherwise, returns false. /// in value and returns true. Otherwise, returns false.
/// ///
/// Must be overridden by subclasses. /// Must be overridden by subclasses.
virtual void setRaw(const std::string& key, const std::string& value ) = 0; virtual void setRaw(const std::string& key, const std::string& value ) = 0;
/// Sets the property with the given key to the given value. /// Sets the property with the given key to the given value.
/// An already existing value for the key is overwritten. /// An already existing value for the key is overwritten.
/// ///
/// Must be overridden by subclasses. /// Must be overridden by subclasses.
virtual void enumerate(const std::string& key, Keys& range) const = 0; virtual void enumerate(const std::string& key, Keys& range) const = 0;
/// Returns in range the names of all subkeys under the give n key. /// Returns in range the names of all subkeys under the give n key.
/// If an empty key is passed, all root level keys are retur ned. /// If an empty key is passed, all root level keys are retur ned.
virtual void removeRaw(const std::string& key);
/// Removes the property with the given key.
///
/// Does nothing if the key does not exist.
///
/// Should be overridden by subclasses; the default
/// implementation throws a Poco::NotImplementedException.
static int parseInt(const std::string& value); static int parseInt(const std::string& value);
static bool parseBool(const std::string& value); static bool parseBool(const std::string& value);
void setRawWithEvent(const std::string& key, std::string value);
virtual ~AbstractConfiguration(); virtual ~AbstractConfiguration();
private: private:
std::string internalExpand(const std::string& value) const; std::string internalExpand(const std::string& value) const;
std::string uncheckedExpand(const std::string& value) const; std::string uncheckedExpand(const std::string& value) const;
AbstractConfiguration(const AbstractConfiguration&); AbstractConfiguration(const AbstractConfiguration&);
AbstractConfiguration& operator = (const AbstractConfiguration&); AbstractConfiguration& operator = (const AbstractConfiguration&);
 End of changes. 11 change blocks. 
4 lines changed or deleted 82 lines changed or added


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


 AbstractDelegate.h   AbstractDelegate.h 
// //
// AbstractDelegate.h // AbstractDelegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AbstractDelegate.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractDelegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: AbstractDelegate // Module: AbstractDelegate
// //
// Implementation of the AbstractDelegate template. // Implementation of the AbstractDelegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AbstractDelegate_INCLUDED #ifndef Foundation_AbstractDelegate_INCLUDED
#define Foundation_AbstractDelegate_INCLUDED #define Foundation_AbstractDelegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs>
class AbstractDelegate class AbstractDelegate
/// Interface for Delegate and Expire /// Interface for Delegate and Expire
/// Very similar to AbstractPriorityDelegate but having two separate files (no inheritance) /// Very similar to AbstractPriorityDelegate but having two separate files (no inheritance)
/// allows one to have compile-time checks when registering an obser ver /// allows one to have compile-time checks when registering an obser ver
skipping to change at line 68 skipping to change at line 68
AbstractDelegate(const AbstractDelegate& del): _pTarget(del._pTarget ) AbstractDelegate(const AbstractDelegate& del): _pTarget(del._pTarget )
{ {
poco_assert_dbg (_pTarget != 0); poco_assert_dbg (_pTarget != 0);
} }
virtual ~AbstractDelegate() virtual ~AbstractDelegate()
{ {
} }
virtual bool notify(const void* sender, TArgs& arguments) = 0; virtual bool notify(const void* sender, TArgs& arguments) = 0;
/// Returns false, if the Delegate is no longer valid, thus indicating an expire /// Returns false, if the Delegate is no longer valid, thus indicating an expire.
virtual AbstractDelegate* clone() const = 0; virtual AbstractDelegate* clone() const = 0;
/// Returns a deep-copy of the AbstractDelegate /// Returns a deep-copy of the AbstractDelegate
bool operator < (const AbstractDelegate<TArgs>& other) const bool operator < (const AbstractDelegate<TArgs>& other) const
/// For comparing AbstractDelegates in a collection. /// For comparing AbstractDelegates in a collection.
{ {
return _pTarget < other._pTarget; return _pTarget < other._pTarget;
} }
skipping to change at line 90 skipping to change at line 90
{ {
return _pTarget; return _pTarget;
} }
protected: protected:
void* _pTarget; void* _pTarget;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_AbstractDelegate_INCLUDED
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


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


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


 AbstractObserver.h   AbstractObserver.h 
// //
// AbstractObserver.h // AbstractObserver.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AbstractObserver.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractObserver.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: NotificationCenter // Module: NotificationCenter
// //
// Definition of the AbstractObserver class. // Definition of the AbstractObserver class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 AbstractPriorityDelegate.h   AbstractPriorityDelegate.h 
// //
// AbstractPriorityDelegate.h // AbstractPriorityDelegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AbstractPriorityDelegate.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractPriorityDelegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: AbstractPriorityDelegate // Module: AbstractPriorityDelegate
// //
// Implementation of the AbstractPriorityDelegate template. // Implementation of the AbstractPriorityDelegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AbstractPriorityDelegate_INCLUDED #ifndef Foundation_AbstractPriorityDelegate_INCLUDED
#define Foundation_AbstractPriorityDelegate_INCLUDED #define Foundation_AbstractPriorityDelegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs>
class AbstractPriorityDelegate class AbstractPriorityDelegate
/// Interface for PriorityDelegate and PriorityExpire. /// Interface for PriorityDelegate and PriorityExpire.
/// Very similar to AbstractDelegate but having two separate files ( no inheritance) /// Very similar to AbstractDelegate but having two separate files ( no inheritance)
/// allows to have compile-time checks when registering an observer /// allows to have compile-time checks when registering an observer
skipping to change at line 103 skipping to change at line 103
return _priority; return _priority;
} }
protected: protected:
void* _pTarget; void* _pTarget;
int _priority; int _priority;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_AbstractPriorityDelegate_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 AbstractStrategy.h   AbstractStrategy.h 
// //
// AbstractStrategy.h // AbstractStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AbstractStrategy.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AbstractStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: AbstractCache // Module: AbstractCache
// //
// Definition of the AbstractStrategy class. // Definition of the AbstractStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AbstractStrategy_INCLUDED #ifndef Foundation_AbstractStrategy_INCLUDED
#define Foundation_AbstractStrategy_INCLUDED #define Foundation_AbstractStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include <set>
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <class TKey, class TValue>
class AbstractStrategy class AbstractStrategy
/// An AbstractStrategy is the interface for all strategies. /// An AbstractStrategy is the interface for all strategies.
{ {
public: public:
AbstractStrategy() AbstractStrategy()
{ {
} }
virtual ~AbstractStrategy() virtual ~AbstractStrategy()
{ {
} }
virtual void onUpdate(const void* pSender, const KeyValueArgs <TKey,
TValue>& args)
/// Updates an existing entry.
{
onRemove(pSender,args.key());
onAdd(pSender, args);
}
virtual void onAdd(const void* pSender, const KeyValueArgs <TKey, TV alue>& key) = 0; virtual void onAdd(const void* pSender, const KeyValueArgs <TKey, TV alue>& key) = 0;
/// Adds the key to the strategy. /// Adds the key to the strategy.
/// If for the key already an entry exists, an excpetion wil l be thrown. /// If for the key already an entry exists, an exception wil l be thrown.
virtual void onRemove(const void* pSender, const TKey& key) = 0; virtual void onRemove(const void* pSender, const TKey& key) = 0;
/// Removes an entry from the strategy. If the entry is not found /// Removes an entry from the strategy. If the entry is not found
/// the remove is ignored. /// the remove is ignored.
virtual void onGet(const void* pSender, const TKey& key) = 0; virtual void onGet(const void* pSender, const TKey& key) = 0;
/// Informs the strategy that a read-access happens to an el ement. /// Informs the strategy that a read-access happens to an el ement.
virtual void onClear(const void* pSender, const EventArgs& args) = 0 ; virtual void onClear(const void* pSender, const EventArgs& args) = 0 ;
/// Removes all elements from the cache. /// Removes all elements from the cache.
skipping to change at line 85 skipping to change at line 93
/// Used to query if a key is still valid (i.e. cached). /// Used to query if a key is still valid (i.e. cached).
virtual void onReplace(const void* pSender, std::set<TKey>& elemsToR emove) = 0; virtual void onReplace(const void* pSender, std::set<TKey>& elemsToR emove) = 0;
/// Used by the Strategy to indicate which elements should b e removed from /// Used by the Strategy to indicate which elements should b e removed from
/// the cache. Note that onReplace does not change the curre nt list of keys. /// the cache. Note that onReplace does not change the curre nt list of keys.
/// The cache object is reponsible to remove the elements. /// The cache object is reponsible to remove the elements.
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_AbstractStrategy_INCLUDED
 End of changes. 6 change blocks. 
4 lines changed or deleted 13 lines changed or added


 AccessExpirationDecorator.h   AccessExpirationDecorator.h 
// //
// AccessExpirationDecorator.h // AccessExpirationDecorator.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AccessExpirationDecorator.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AccessExpirationDecorator.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: AccessExpirationDecorator // Module: AccessExpirationDecorator
// //
// Implementation of the AccessExpirationDecorator template. // Implementation of the AccessExpirationDecorator template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AccessExpirationDecorator_INCLUDED #ifndef Foundation_AccessExpirationDecorator_INCLUDED
#define Foundation_AccessExpirationDecorator_INCLUDED #define Foundation_AccessExpirationDecorator_INCLUDED
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
namespace Poco { namespace Poco {
template <typename TArgs> template <typename TArgs>
class AccessExpirationDecorator class AccessExpirationDecorator
/// AccessExpirationDecorator adds an expiration method to values so that they can be used /// AccessExpirationDecorator adds an expiration method to values so that they can be used
/// with the UniqueAccessExpireCache /// with the UniqueAccessExpireCache
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 AccessExpireCache.h   AccessExpireCache.h 
// //
// AccessExpireCache.h // AccessExpireCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AccessExpireCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AccessExpireCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: AccessExpireCache // Module: AccessExpireCache
// //
// Definition of the AccessExpireCache class. // Definition of the AccessExpireCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AccessExpireCache_INCLUDED #ifndef Foundation_AccessExpireCache_INCLUDED
#define Foundation_AccessExpireCache_INCLUDED #define Foundation_AccessExpireCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/AccessExpireStrategy.h" #include "Poco/AccessExpireStrategy.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <
class AccessExpireCache: public AbstractCache<TKey, TValue, AccessExpireStr class TKey,
ategy<TKey, TValue> > class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
>
class AccessExpireCache: public AbstractCache<TKey, TValue, AccessExpireStr
ategy<TKey, TValue>, TMutex, TEventMutex>
/// An AccessExpireCache caches entries for a fixed time period (per default 10 minutes). /// An AccessExpireCache caches entries for a fixed time period (per default 10 minutes).
/// Entries expire when they are not accessed with get() during this time period. Each access resets /// Entries expire when they are not accessed with get() during this time period. Each access resets
/// the start time for expiration. /// the start time for expiration.
/// Be careful when using an AccessExpireCache. A cache is often use d /// Be careful when using an AccessExpireCache. A cache is often use d
/// like cache.has(x) followed by cache.get x). Note that it could h appen /// like cache.has(x) followed by cache.get x). Note that it could h appen
/// that the "has" call works, then the current execution thread get s descheduled, time passes, /// that the "has" call works, then the current execution thread get s descheduled, time passes,
/// the entry gets invalid, thus leading to an empty SharedPtr being returned /// the entry gets invalid, thus leading to an empty SharedPtr being returned
/// when "get" is invoked. /// when "get" is invoked.
{ {
public: public:
AccessExpireCache(Timestamp::TimeDiff expire = 600000): AccessExpireCache(Timestamp::TimeDiff expire = 600000):
AbstractCache<TKey, TValue, AccessExpireStrategy<TKey, TValu e> >(AccessExpireStrategy<TKey, TValue>(expire)) AbstractCache<TKey, TValue, AccessExpireStrategy<TKey, TValu e>, TMutex, TEventMutex>(AccessExpireStrategy<TKey, TValue>(expire))
{ {
} }
~AccessExpireCache() ~AccessExpireCache()
{ {
} }
private: private:
AccessExpireCache(const AccessExpireCache& aCache); AccessExpireCache(const AccessExpireCache& aCache);
AccessExpireCache& operator = (const AccessExpireCache& aCache); AccessExpireCache& operator = (const AccessExpireCache& aCache);
 End of changes. 4 change blocks. 
7 lines changed or deleted 12 lines changed or added


 AccessExpireLRUCache.h   AccessExpireLRUCache.h 
// //
// AccessExpireLRUCache.h // AccessExpireLRUCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AccessExpireLRUCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AccessExpireLRUCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: AccessExpireLRUCache // Module: AccessExpireLRUCache
// //
// Definition of the AccessExpireLRUCache class. // Definition of the AccessExpireLRUCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AccessExpireLRUCache_INCLUDED #ifndef Foundation_AccessExpireLRUCache_INCLUDED
#define Foundation_AccessExpireLRUCache_INCLUDED #define Foundation_AccessExpireLRUCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/StrategyCollection.h" #include "Poco/StrategyCollection.h"
#include "Poco/AccessExpireStrategy.h" #include "Poco/AccessExpireStrategy.h"
#include "Poco/LRUStrategy.h" #include "Poco/LRUStrategy.h"
namespace Poco { namespace Poco {
template < template <
class TKey, class TKey,
class TValue class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
> >
class AccessExpireLRUCache: public AbstractCache<TKey, TValue, StrategyColl ection<TKey, TValue> > class AccessExpireLRUCache: public AbstractCache<TKey, TValue, StrategyColl ection<TKey, TValue>, TMutex, TEventMutex>
/// An AccessExpireLRUCache combines LRU caching and time based expi re caching. /// An AccessExpireLRUCache combines LRU caching and time based expi re caching.
/// It cache entries for a fixed time period (per default 10 minutes ) /// It cache entries for a fixed time period (per default 10 minutes )
/// but also limits the size of the cache (per default: 1024). /// but also limits the size of the cache (per default: 1024).
{ {
public: public:
AccessExpireLRUCache(long cacheSize = 1024, Timestamp::TimeDiff expi re = 600000): AccessExpireLRUCache(long cacheSize = 1024, Timestamp::TimeDiff expi re = 600000):
AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> >(StrategyCollection<TKey, TValue>()) AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> , TMutex, TEventMutex >(StrategyCollection<TKey, TValue>())
{ {
this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size)); this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size));
this->_strategy.pushBack(new AccessExpireStrategy<TKey, TVal ue>(expire)); this->_strategy.pushBack(new AccessExpireStrategy<TKey, TVal ue>(expire));
} }
~AccessExpireLRUCache() ~AccessExpireLRUCache()
{ {
} }
private: private:
 End of changes. 5 change blocks. 
6 lines changed or deleted 8 lines changed or added


 AccessExpireStrategy.h   AccessExpireStrategy.h 
// //
// AccessExpireStrategy.h // AccessExpireStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AccessExpireStrategy.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/AccessExpireStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: AccessExpireStrategy // Module: AccessExpireStrategy
// //
// Definition of the AccessExpireStrategy class. // Definition of the AccessExpireStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_AccessExpireStrategy_INCLUDED #ifndef Foundation_AccessExpireStrategy_INCLUDED
#define Foundation_AccessExpireStrategy_INCLUDED #define Foundation_AccessExpireStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/ExpireStrategy.h" #include "Poco/ExpireStrategy.h"
#include "Poco/Bugcheck.h" #include "Poco/Bugcheck.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include <set> #include <set>
#include <map> #include <map>
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


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


 ActiveMethod.h   ActiveMethod.h 
// //
// ActiveMethod.h // ActiveMethod.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ActiveMethod.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ActiveMethod.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ActiveObjects // Module: ActiveObjects
// //
// Definition of the ActiveMethod class. // Definition of the ActiveMethod class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ActiveResult.h   ActiveResult.h 
// //
// ActiveResult.h // ActiveResult.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ActiveResult.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ActiveResult.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ActiveObjects // Module: ActiveObjects
// //
// Definition of the ActiveResult class. // Definition of the ActiveResult class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ActiveRunnable.h   ActiveRunnable.h 
// //
// ActiveRunnable.h // ActiveRunnable.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ActiveRunnable.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ActiveRunnable.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ActiveObjects // Module: ActiveObjects
// //
// Definition of the ActiveRunnable class. // Definition of the ActiveRunnable class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Activity.h   Activity.h 
// //
// Activity.h // Activity.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Activity.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Activity.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ActiveObjects // Module: ActiveObjects
// //
// Definition of the Activity template class. // Definition of the Activity template class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Any.h   Any.h 
// //
// Any.h // Any.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Any.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Any.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Any // Module: Any
// //
// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved. // Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved.
// Extracted from Boost 1.33.1 lib and adapted for poco: Peter Schojer/Appl iedInformatics 2006-02-02 // Extracted from Boost 1.33.1 lib and adapted for poco: Peter Schojer/Appl iedInformatics 2006-02-02
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Application.h   Application.h 
// //
// Application.h // Application.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/Application.h#8 $ // $Id: //poco/1.4/Util/include/Poco/Util/Application.h#1 $
// //
// 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 143 skipping to change at line 143
/// Creates the Application and calls init(argc, argv). /// Creates the Application and calls init(argc, argv).
void addSubsystem(Subsystem* pSubsystem); void addSubsystem(Subsystem* pSubsystem);
/// Adds a new subsystem to the application. The /// Adds a new subsystem to the application. The
/// application immediately takes ownership of it, so that a /// application immediately takes ownership of it, so that a
/// call in the form /// call in the form
/// Application::instance().addSubsystem(new MySubsystem ); /// Application::instance().addSubsystem(new MySubsystem );
/// is okay. /// is okay.
void init(int argc, char* argv[]); void init(int argc, char* argv[]);
/// Initializes the application and all registered subsystem /// Processes the application's command line arguments
s, /// and sets the application's properties (e.g.,
/// using the given command line arguments. /// "application.path", "application.name", etc.).
///
/// Note that as of release 1.3.7, init() no longer
/// calls initialize(). This is now called from run().
#if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING) #if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING)
void init(int argc, wchar_t* argv[]); void init(int argc, wchar_t* argv[]);
/// Initializes the application and all registered subsystem /// Processes the application's command line arguments
s, /// and sets the application's properties (e.g.,
/// using the given command line arguments. /// "application.path", "application.name", etc.).
///
/// Note that as of release 1.3.7, init() no longer
/// calls initialize(). This is now called from run().
/// ///
/// 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
void init(const std::vector<std::string>& args); void init(const std::vector<std::string>& args);
/// Initializes the application and all registered subsystem /// Processes the application's command line arguments
s, /// and sets the application's properties (e.g.,
/// using the given command line arguments. /// "application.path", "application.name", etc.).
///
/// Note that as of release 1.3.7, init() no longer
/// calls initialize(). This is now called from run().
bool initialized() const; bool initialized() const;
/// Returns true iff the application is in initialized state /// Returns true iff the application is in initialized state
/// (that means, has been initialized but not yet uninitiali zed). /// (that means, has been initialized but not yet uninitiali zed).
void setUnixOptions(bool flag); void setUnixOptions(bool flag);
/// Specify whether command line option handling is Unix-sty le /// Specify whether command line option handling is Unix-sty le
/// (flag == true; default) or Windows/OpenVMS-style (flag = = false). /// (flag == true; default) or Windows/OpenVMS-style (flag = = false).
/// ///
/// This member function should be called from the construct or of /// This member function should be called from the construct or of
skipping to change at line 223 skipping to change at line 235
template <class C> C& getSubsystem() const; template <class C> C& getSubsystem() const;
/// Returns a reference to the subsystem of the class /// Returns a reference to the subsystem of the class
/// given as template argument. /// given as template argument.
/// ///
/// Throws a NotFoundException if such a subsystem has /// Throws a NotFoundException if such a subsystem has
/// not been registered. /// not been registered.
virtual int run(); virtual int run();
/// 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.
///
/// First calls initialize(), then calls main(), and
/// finally calls uninitialize(). The latter will be called
/// even if main() throws an exception. If initialize() thro
ws
/// an exception, main() will not be called and the exceptio
n
/// will be propagated to the caller.
std::string commandName() const; std::string commandName() const;
/// Returns the command name used to invoke the application. /// Returns the command name used to invoke the application.
LayeredConfiguration& config() const; LayeredConfiguration& config() const;
/// Returns the application's configuration. /// Returns the application's configuration.
Poco::Logger& logger() const; Poco::Logger& logger() const;
/// Returns the application's logger. /// Returns the application's logger.
/// ///
 End of changes. 5 change blocks. 
10 lines changed or deleted 27 lines changed or added


 ArchiveStrategy.h   ArchiveStrategy.h 
// //
// ArchiveStrategy.h // ArchiveStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ArchiveStrategy.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/ArchiveStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: FileChannel // Module: FileChannel
// //
// Definition of the ArchiveStrategy class and subclasses. // Definition of the ArchiveStrategy class and subclasses.
// //
// Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 AsyncChannel.h   AsyncChannel.h 
// //
// AsyncChannel.h // AsyncChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AsyncChannel.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/AsyncChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: AsyncChannel // Module: AsyncChannel
// //
// Definition of the AsyncChannel class. // Definition of the AsyncChannel class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 109 skipping to change at line 109
/// The "priority" property is set-only. /// The "priority" property is set-only.
protected: protected:
~AsyncChannel(); ~AsyncChannel();
void run(); void run();
void setPriority(const std::string& value); void setPriority(const std::string& value);
private: private:
Channel* _pChannel; Channel* _pChannel;
Thread _thread; Thread _thread;
FastMutex _mutex; FastMutex _threadMutex;
FastMutex _channelMutex;
NotificationQueue _queue; NotificationQueue _queue;
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_AsyncChannel_INCLUDED #endif // Foundation_AsyncChannel_INCLUDED
 End of changes. 2 change blocks. 
2 lines changed or deleted 3 lines changed or added


 AtomicCounter.h   AtomicCounter.h 
// //
// AtomicCounter.h // AtomicCounter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/AtomicCounter.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/AtomicCounter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: AtomicCounter // Module: AtomicCounter
// //
// Definition of the AtomicCounter class. // Definition of the AtomicCounter class.
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 Attributes.h   Attributes.h 
// //
// Attributes.h // Attributes.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/Attributes.h#2 $ // $Id: //poco/1.4/XML/include/Poco/SAX/Attributes.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX2 Attributes Interface. // SAX2 Attributes Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 AttributesImpl.h   AttributesImpl.h 
// //
// AttributesImpl.h // AttributesImpl.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/AttributesImpl.h#3 $ // $Id: //poco/1.4/XML/include/Poco/SAX/AttributesImpl.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// Implementation of the SAX2 Attributes Interface. // Implementation of the SAX2 Attributes Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 Base64Decoder.h   Base64Decoder.h 
// //
// Base64Decoder.h // Base64Decoder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Base64Decoder.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Base64Decoder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Base64Encoder.h   Base64Encoder.h 
// //
// Base64Encoder.h // Base64Encoder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Base64Encoder.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Base64Encoder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 BasicEvent.h   BasicEvent.h 
// //
// BasicEvent.h // BasicEvent.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/BasicEvent.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/BasicEvent.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: BasicEvent // Module: BasicEvent
// //
// Implementation of the BasicEvent template. // Implementation of the BasicEvent template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_BasicEvent_INCLUDED #ifndef Foundation_BasicEvent_INCLUDED
#define Foundation_BasicEvent_INCLUDED #define Foundation_BasicEvent_INCLUDED
#include "Poco/AbstractEvent.h" #include "Poco/AbstractEvent.h"
#include "Poco/DefaultStrategy.h" #include "Poco/DefaultStrategy.h"
#include "Poco/AbstractDelegate.h" #include "Poco/AbstractDelegate.h"
#include "Poco/CompareFunctions.h" #include "Poco/CompareFunctions.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs, class TMutex = FastMutex>
class BasicEvent: public AbstractEvent < class BasicEvent: public AbstractEvent <
TArgs, DefaultStrategy<TArgs, AbstractDelegate<TArgs>, p_less<Abstra ctDelegate<TArgs> > >, TArgs, DefaultStrategy<TArgs, AbstractDelegate<TArgs>, p_less<Abstra ctDelegate<TArgs> > >,
AbstractDelegate<TArgs> AbstractDelegate<TArgs>,
TMutex
> >
/// A BasicEvent uses internally a DefaultStrategy which /// A BasicEvent uses internally a DefaultStrategy which
/// invokes delegates in an arbitrary manner. /// invokes delegates in an arbitrary manner.
/// Note that one object can only register one method to a BasicEven t. /// Note that one object can only register one method to a BasicEven t.
/// Subsequent registrations will overwrite the existing delegate. /// Subsequent registrations will overwrite the existing delegate.
/// For example: /// For example:
/// BasicEvent<int> event; /// BasicEvent<int> event;
/// MyClass myObject; /// MyClass myObject;
/// event += delegate(&myObject, &MyClass::myMethod1); /// event += delegate(&myObject, &MyClass::myMethod1);
/// event += delegate(&myObject, &MyClass::myMethod2); /// event += delegate(&myObject, &MyClass::myMethod2);
skipping to change at line 82 skipping to change at line 83
{ {
} }
private: private:
BasicEvent(const BasicEvent& e); BasicEvent(const BasicEvent& e);
BasicEvent& operator = (const BasicEvent& e); BasicEvent& operator = (const BasicEvent& e);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_BasicEvent_INCLUDED
 End of changes. 5 change blocks. 
5 lines changed or deleted 6 lines changed or added


 BinaryReader.h   BinaryReader.h 
// //
// BinaryReader.h // BinaryReader.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/BinaryReader.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/BinaryReader.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: BinaryReaderWriter // Module: BinaryReaderWriter
// //
// Definition of the BinaryReader class. // Definition of the BinaryReader class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 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 Foundation_BinaryReader_INCLUDED #ifndef Foundation_BinaryReader_INCLUDED
#define Foundation_BinaryReader_INCLUDED #define Foundation_BinaryReader_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include <vector>
#include <istream> #include <istream>
namespace Poco { namespace Poco {
class TextEncoding;
class TextConverter;
class Foundation_API BinaryReader class Foundation_API BinaryReader
/// This class reads basic types in binary form into an input stream /// This class reads basic types (and std::vectors thereof)
. /// in binary form into an input stream.
/// It provides an extractor-based interface similar to istream. /// It provides an extractor-based interface similar to istream.
/// The reader also supports automatic conversion from big-endian /// The reader also supports automatic conversion from big-endian
/// (network byte order) to little-endian and vice-versa. /// (network byte order) to little-endian and vice-versa.
/// Use a BinaryWriter to create a stream suitable for a BinaryReade r. /// Use a BinaryWriter to create a stream suitable for a BinaryReade r.
{ {
public: public:
enum StreamByteOrder enum StreamByteOrder
{ {
NATIVE_BYTE_ORDER = 1, /// the host's native byte-or der NATIVE_BYTE_ORDER = 1, /// the host's native byte-or der
BIG_ENDIAN_BYTE_ORDER = 2, /// big-endian (network) byte -order BIG_ENDIAN_BYTE_ORDER = 2, /// big-endian (network) byte -order
NETWORK_BYTE_ORDER = 2, /// big-endian (network) byte -order NETWORK_BYTE_ORDER = 2, /// big-endian (network) byte -order
LITTLE_ENDIAN_BYTE_ORDER = 3, /// little-endian byte-order LITTLE_ENDIAN_BYTE_ORDER = 3, /// little-endian byte-order
UNSPECIFIED_BYTE_ORDER = 4 /// unknown, byte-order will be determined by reading the byte-order mark UNSPECIFIED_BYTE_ORDER = 4 /// unknown, byte-order will be determined by reading the byte-order mark
}; };
BinaryReader(std::istream& istr, StreamByteOrder byteOrder = NATIVE_ BYTE_ORDER); BinaryReader(std::istream& istr, StreamByteOrder byteOrder = NATIVE_ BYTE_ORDER);
/// Creates the BinaryReader. /// Creates the BinaryReader.
BinaryReader(std::istream& istr, TextEncoding& encoding, StreamByteO
rder byteOrder = NATIVE_BYTE_ORDER);
/// Creates the BinaryReader using the given TextEncoding.
///
/// Strings will be converted from the specified encoding
/// to the currently set global encoding (see Poco::TextEnco
ding::global()).
~BinaryReader(); ~BinaryReader();
/// Destroys the BinaryReader. /// Destroys the BinaryReader.
BinaryReader& operator >> (bool& value); BinaryReader& operator >> (bool& value);
BinaryReader& operator >> (char& value); BinaryReader& operator >> (char& value);
BinaryReader& operator >> (unsigned char& value); BinaryReader& operator >> (unsigned char& value);
BinaryReader& operator >> (signed char& value); BinaryReader& operator >> (signed char& value);
BinaryReader& operator >> (short& value); BinaryReader& operator >> (short& value);
BinaryReader& operator >> (unsigned short& value); BinaryReader& operator >> (unsigned short& value);
BinaryReader& operator >> (int& value); BinaryReader& operator >> (int& value);
skipping to change at line 89 skipping to change at line 100
BinaryReader& operator >> (float& value); BinaryReader& operator >> (float& value);
BinaryReader& operator >> (double& value); BinaryReader& operator >> (double& value);
#if defined(POCO_HAVE_INT64) && !defined(POCO_LONG_IS_64_BIT) #if defined(POCO_HAVE_INT64) && !defined(POCO_LONG_IS_64_BIT)
BinaryReader& operator >> (Int64& value); BinaryReader& operator >> (Int64& value);
BinaryReader& operator >> (UInt64& value); BinaryReader& operator >> (UInt64& value);
#endif #endif
BinaryReader& operator >> (std::string& value); BinaryReader& operator >> (std::string& value);
template <typename T>
BinaryReader& operator >> (std::vector<T>& value)
{
Poco::UInt32 size(0);
T elem;
*this >> size;
value.reserve(size);
while (this->good() && size > 0)
{
*this >> elem;
value.push_back(elem);
}
return *this;
}
void read7BitEncoded(UInt32& value); void read7BitEncoded(UInt32& value);
/// Reads a 32-bit unsigned integer in compressed format. /// Reads a 32-bit unsigned integer in compressed format.
/// See BinaryWriter::write7BitEncoded() for a description /// See BinaryWriter::write7BitEncoded() for a description
/// of the compression algorithm. /// of the compression algorithm.
#if defined(POCO_HAVE_INT64) #if defined(POCO_HAVE_INT64)
void read7BitEncoded(UInt64& value); void read7BitEncoded(UInt64& value);
/// Reads a 64-bit unsigned integer in compressed format. /// Reads a 64-bit unsigned integer in compressed format.
/// See BinaryWriter::write7BitEncoded() for a description /// See BinaryWriter::write7BitEncoded() for a description
/// of the compression algorithm. /// of the compression algorithm.
skipping to change at line 133 skipping to change at line 160
/// Returns _istr.eof(); /// Returns _istr.eof();
std::istream& stream() const; std::istream& stream() const;
/// Returns the underlying stream. /// Returns the underlying stream.
StreamByteOrder byteOrder() const; StreamByteOrder byteOrder() const;
/// Returns the byte-order used by the reader, which is /// Returns the byte-order used by the reader, which is
/// either BIG_ENDIAN_BYTE_ORDER or LITTLE_ENDIAN_BYTE_ORDER . /// either BIG_ENDIAN_BYTE_ORDER or LITTLE_ENDIAN_BYTE_ORDER .
private: private:
std::istream& _istr; std::istream& _istr;
bool _flipBytes; bool _flipBytes;
TextConverter* _pTextConverter;
}; };
// //
// inlines // inlines
// //
inline bool BinaryReader::good() inline bool BinaryReader::good()
{ {
return _istr.good(); return _istr.good();
} }
 End of changes. 7 change blocks. 
5 lines changed or deleted 34 lines changed or added


 BinaryWriter.h   BinaryWriter.h 
// //
// BinaryWriter.h // BinaryWriter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/BinaryWriter.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/BinaryWriter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: BinaryReaderWriter // Module: BinaryReaderWriter
// //
// Definition of the BinaryWriter class. // Definition of the BinaryWriter 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 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 Foundation_BinaryWriter_INCLUDED #ifndef Foundation_BinaryWriter_INCLUDED
#define Foundation_BinaryWriter_INCLUDED #define Foundation_BinaryWriter_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include <vector>
#include <ostream> #include <ostream>
namespace Poco { namespace Poco {
class TextEncoding;
class TextConverter;
class Foundation_API BinaryWriter class Foundation_API BinaryWriter
/// This class writes basic types in binary form into an output stre /// This class writes basic types (and std::vectors of these)
am. /// in binary form into an output stream.
/// It provides an inserter-based interface similar to ostream. /// It provides an inserter-based interface similar to ostream.
/// The writer also supports automatic conversion from big-endian /// The writer also supports automatic conversion from big-endian
/// (network byte order) to little-endian and vice-versa. /// (network byte order) to little-endian and vice-versa.
/// Use a BinaryReader to read from a stream created by a BinaryWrit er. /// Use a BinaryReader to read from a stream created by a BinaryWrit er.
/// Be careful when exchanging data between systems with different /// Be careful when exchanging data between systems with different
/// data type sizes (e.g., 32-bit and 64-bit architectures), as the sizes /// data type sizes (e.g., 32-bit and 64-bit architectures), as the sizes
/// of some of the basic types may be different. For example, writin g a /// of some of the basic types may be different. For example, writin g a
/// long integer on a 64-bit system and reading it on a 32-bit syste m /// long integer on a 64-bit system and reading it on a 32-bit syste m
/// may yield an incorrent result. Use fixed-size types (Int32, Int6 4, etc.) /// may yield an incorrent result. Use fixed-size types (Int32, Int6 4, etc.)
/// in such a case. /// in such a case.
skipping to change at line 71 skipping to change at line 76
{ {
NATIVE_BYTE_ORDER = 1, /// the host's native byte-ord er NATIVE_BYTE_ORDER = 1, /// the host's native byte-ord er
BIG_ENDIAN_BYTE_ORDER = 2, /// big-endian (network) byte- order BIG_ENDIAN_BYTE_ORDER = 2, /// big-endian (network) byte- order
NETWORK_BYTE_ORDER = 2, /// big-endian (network) byte- order NETWORK_BYTE_ORDER = 2, /// big-endian (network) byte- order
LITTLE_ENDIAN_BYTE_ORDER = 3 /// little-endian byte-order LITTLE_ENDIAN_BYTE_ORDER = 3 /// little-endian byte-order
}; };
BinaryWriter(std::ostream& ostr, StreamByteOrder byteOrder = NATIVE_ BYTE_ORDER); BinaryWriter(std::ostream& ostr, StreamByteOrder byteOrder = NATIVE_ BYTE_ORDER);
/// Creates the BinaryWriter. /// Creates the BinaryWriter.
BinaryWriter(std::ostream& ostr, TextEncoding& encoding, StreamByteO
rder byteOrder = NATIVE_BYTE_ORDER);
/// Creates the BinaryWriter using the given TextEncoding.
///
/// Strings will be converted from the currently set global
encoding
/// (see Poco::TextEncoding::global()) to the specified enco
ding.
~BinaryWriter(); ~BinaryWriter();
/// Destroys the BinaryWriter. /// Destroys the BinaryWriter.
BinaryWriter& operator << (bool value); BinaryWriter& operator << (bool value);
BinaryWriter& operator << (char value); BinaryWriter& operator << (char value);
BinaryWriter& operator << (unsigned char value); BinaryWriter& operator << (unsigned char value);
BinaryWriter& operator << (signed char value); BinaryWriter& operator << (signed char value);
BinaryWriter& operator << (short value); BinaryWriter& operator << (short value);
BinaryWriter& operator << (unsigned short value); BinaryWriter& operator << (unsigned short value);
BinaryWriter& operator << (int value); BinaryWriter& operator << (int value);
skipping to change at line 95 skipping to change at line 106
BinaryWriter& operator << (double value); BinaryWriter& operator << (double value);
#if defined(POCO_HAVE_INT64) && !defined(POCO_LONG_IS_64_BIT) #if defined(POCO_HAVE_INT64) && !defined(POCO_LONG_IS_64_BIT)
BinaryWriter& operator << (Int64 value); BinaryWriter& operator << (Int64 value);
BinaryWriter& operator << (UInt64 value); BinaryWriter& operator << (UInt64 value);
#endif #endif
BinaryWriter& operator << (const std::string& value); BinaryWriter& operator << (const std::string& value);
BinaryWriter& operator << (const char* value); BinaryWriter& operator << (const char* value);
template <typename T>
BinaryWriter& operator << (const std::vector<T>& value)
{
Poco::UInt32 size(value.size());
*this << size;
for (typename std::vector<T>::const_iterator it = value.begi
n(); it != value.end(); ++it)
{
*this << *it;
}
return *this;
}
void write7BitEncoded(UInt32 value); void write7BitEncoded(UInt32 value);
/// Writes a 32-bit unsigned integer in a compressed format. /// Writes a 32-bit unsigned integer in a compressed format.
/// The value is written out seven bits at a time, starting /// The value is written out seven bits at a time, starting
/// with the seven least-significant bits. /// with the seven least-significant bits.
/// The high bit of a byte indicates whether there are more bytes to be /// The high bit of a byte indicates whether there are more bytes to be
/// written after this one. /// written after this one.
/// If value will fit in seven bits, it takes only one byte of space. /// If value will fit in seven bits, it takes only one byte of space.
/// If value will not fit in seven bits, the high bit is set on the first byte and /// If value will not fit in seven bits, the high bit is set on the first byte and
/// written out. value is then shifted by seven bits and the next byte is written. /// written out. value is then shifted by seven bits and the next byte is written.
/// This process is repeated until the entire integer has be en written. /// This process is repeated until the entire integer has be en written.
skipping to change at line 151 skipping to change at line 176
/// Returns _ostr.bad(); /// Returns _ostr.bad();
std::ostream& stream() const; std::ostream& stream() const;
/// Returns the underlying stream. /// Returns the underlying stream.
StreamByteOrder byteOrder() const; StreamByteOrder byteOrder() const;
/// Returns the byte ordering used by the writer, which is /// Returns the byte ordering used by the writer, which is
/// either BIG_ENDIAN_BYTE_ORDER or LITTLE_ENDIAN_BYTE_ORDER . /// either BIG_ENDIAN_BYTE_ORDER or LITTLE_ENDIAN_BYTE_ORDER .
private: private:
std::ostream& _ostr; std::ostream& _ostr;
bool _flipBytes; bool _flipBytes;
TextConverter* _pTextConverter;
}; };
// //
// inlines // inlines
// //
inline std::ostream& BinaryWriter::stream() const inline std::ostream& BinaryWriter::stream() const
{ {
return _ostr; return _ostr;
} }
 End of changes. 7 change blocks. 
5 lines changed or deleted 34 lines changed or added


 Buffer.h   Buffer.h 
// //
// Buffer.h // Buffer.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Buffer.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Buffer.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Buffer // Module: Buffer
// //
// Definition of the Buffer class. // Definition of the Buffer class.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 BufferedBidirectionalStreamBuf.h   BufferedBidirectionalStreamBuf.h 
// //
// BufferedBidirectionalStreamBuf.h // BufferedBidirectionalStreamBuf.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h #4 $ // $Id: //poco/1.4/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h #1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamBuf // Module: StreamBuf
// //
// Definition of template BasicBufferedBidirectionalStreamBuf and class Buf feredBidirectionalStreamBuf. // Definition of template BasicBufferedBidirectionalStreamBuf and class Buf feredBidirectionalStreamBuf.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 BufferedStreamBuf.h   BufferedStreamBuf.h 
// //
// BufferedStreamBuf.h // BufferedStreamBuf.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/BufferedStreamBuf.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/BufferedStreamBuf.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamBuf // Module: StreamBuf
// //
// Definition of template BasicBufferedStreamBuf and class BufferedStreamBu f. // Definition of template BasicBufferedStreamBuf and class BufferedStreamBu f.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Bugcheck.h   Bugcheck.h 
// //
// Bugcheck.h // Bugcheck.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Bugcheck.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Bugcheck.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Bugcheck // Module: Bugcheck
// //
// Definition of the Bugcheck class and the self-testing macros. // Definition of the Bugcheck class and the self-testing macros.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ByteOrder.h   ByteOrder.h 
// //
// ByteOrder.h // ByteOrder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ByteOrder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/ByteOrder.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: ByteOrder // Module: ByteOrder
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


 Checksum.h   Checksum.h 
// //
// Checksum.h // Checksum.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Checksum.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Checksum.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Checksum // Module: Checksum
// //
// Definition of the Checksum class. // Definition of the Checksum class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 ClassLibrary.h   ClassLibrary.h 
// //
// ClassLibrary.h // ClassLibrary.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ClassLibrary.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ClassLibrary.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: ClassLoader // Module: ClassLoader
// //
// Definitions for class libraries. // Definitions for class libraries.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 CompareFunctions.h   CompareFunctions.h 
// //
// CompareFunctions.h // CompareFunctions.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/CompareFunctions.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/CompareFunctions.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: CompareFunctions // Module: CompareFunctions
// //
// Compare operators for the NotificationStrategies. // Compare operators for the NotificationStrategies.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Condition.h   Condition.h 
// //
// Condition.h // Condition.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Condition.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Condition.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Condition // Module: Condition
// //
// Definition of the Condition class template. // Definition of the Condition class template.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Config.h   Config.h 
// //
// Config.h // Config.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Config.h#9 $ // $Id: //poco/1.4/Foundation/include/Poco/Config.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Foundation // Module: Foundation
// //
// Feature configuration for the POCO libraries. // Feature configuration for the POCO libraries.
// //
// Copyright (c) 2006-2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006-2010, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of t he // execute, and transmit the Software, and to prepare derivative works of t he
// Software, and to permit third-parties to whom the Software is furnished to // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, includi ng // The copyright notices in the Software and this entire statement, includi ng
skipping to change at line 60 skipping to change at line 60
// Define if std::wstring is not available // Define if std::wstring is not available
// #define POCO_NO_WSTRING // #define POCO_NO_WSTRING
// Define to disable shared memory // Define to disable shared memory
// #define POCO_NO_SHAREDMEMORY // #define POCO_NO_SHAREDMEMORY
// Define to desired default thread stack size // Define to desired default thread stack size
// Zero means OS default // Zero means OS default
#define POCO_THREAD_STACK_SIZE 0 #define POCO_THREAD_STACK_SIZE 0
// Define to override system-provided
// minimum thread priority value on POSIX
// platforms (returned by Poco::Thread::getMinOSPriority()).
// #define POCO_THREAD_PRIORITY_MIN 0
// Define to override system-provided
// maximum thread priority value on POSIX
// platforms (returned by Poco::Thread::getMaxOSPriority()).
// #define POCO_THREAD_PRIORITY_MAX 31
// Following are options to remove certain features // Following are options to remove certain features
// to reduce library/executable size for smaller // to reduce library/executable size for smaller
// embedded platforms. By enabling these options, // embedded platforms. By enabling these options,
// the size of a statically executable can be // the size of a statically executable can be
// reduced by a few 100 Kbytes. // reduced by a few 100 Kbytes.
// No automatic registration of FileChannel in // No automatic registration of FileChannel in
// LoggingFactory - avoids FileChannel and friends // LoggingFactory - avoids FileChannel and friends
// being linked to executable. // being linked to executable.
// #define POCO_NO_FILECHANNEL // #define POCO_NO_FILECHANNEL
 End of changes. 3 change blocks. 
2 lines changed or deleted 12 lines changed or added


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


 ConfigurationMapper.h   ConfigurationMapper.h 
// //
// ConfigurationMapper.h // ConfigurationMapper.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/ConfigurationMapper.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/ConfigurationMapper.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: ConfigurationMapper // Module: ConfigurationMapper
// //
// Definition of the ConfigurationMapper class. // Definition of the ConfigurationMapper 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 93 skipping to change at line 93
{ {
public: public:
ConfigurationMapper(const std::string& fromPrefix, const std::string & toPrefix, AbstractConfiguration* pConfig); ConfigurationMapper(const std::string& fromPrefix, const std::string & toPrefix, AbstractConfiguration* pConfig);
/// Creates the ConfigurationMapper. The ConfigurationMapper does not take /// Creates the ConfigurationMapper. The ConfigurationMapper does not take
/// ownership of the passed configuration. /// ownership of the passed configuration.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
std::string translateKey(const std::string& key) const; std::string translateKey(const std::string& key) const;
~ConfigurationMapper(); ~ConfigurationMapper();
private: private:
ConfigurationMapper(const ConfigurationMapper&); ConfigurationMapper(const ConfigurationMapper&);
ConfigurationMapper& operator = (const ConfigurationMapper&); ConfigurationMapper& operator = (const ConfigurationMapper&);
std::string _fromPrefix; std::string _fromPrefix;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 ConfigurationView.h   ConfigurationView.h 
// //
// ConfigurationView.h // ConfigurationView.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/ConfigurationView.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/ConfigurationView.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: ConfigurationView // Module: ConfigurationView
// //
// Definition of the ConfigurationView class. // Definition of the ConfigurationView 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 82 skipping to change at line 82
{ {
public: public:
ConfigurationView(const std::string& prefix, AbstractConfiguration* pConfig); ConfigurationView(const std::string& prefix, AbstractConfiguration* pConfig);
/// Creates the ConfigurationView. The ConfigurationView doe s not take /// Creates the ConfigurationView. The ConfigurationView doe s not take
/// ownership of the passed configuration. /// ownership of the passed configuration.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
std::string translateKey(const std::string& key) const; std::string translateKey(const std::string& key) const;
~ConfigurationView(); ~ConfigurationView();
private: private:
ConfigurationView(const ConfigurationView&); ConfigurationView(const ConfigurationView&);
ConfigurationView& operator = (const ConfigurationView&); ConfigurationView& operator = (const ConfigurationView&);
std::string _prefix; std::string _prefix;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


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


 ContentHandler.h   ContentHandler.h 
// //
// ContentHandler.h // ContentHandler.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/ContentHandler.h#2 $ // $Id: //poco/1.4/XML/include/Poco/SAX/ContentHandler.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX2 ContentHandler Interface. // SAX2 ContentHandler Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 CountingStream.h   CountingStream.h 
// //
// CountingStream.h // CountingStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/CountingStream.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/CountingStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: CountingStream // Module: CountingStream
// //
// Definition of the CountingStreamBuf, CountingInputStream and CountingOut putStream classes. // Definition of the CountingStreamBuf, CountingInputStream and CountingOut putStream classes.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


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


 DOMParser.h   DOMParser.h 
// //
// DOMParser.h // DOMParser.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/DOMParser.h#2 $ // $Id: //poco/1.4/XML/include/Poco/DOM/DOMParser.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMParser // Module: DOMParser
// //
// Definition of the DOMParser class. // Definition of the DOMParser 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 112 skipping to change at line 112
Document* parseMemory(const char* xml, std::size_t size); Document* parseMemory(const char* xml, std::size_t size);
/// Parse an XML document from memory. /// Parse an XML document from memory.
EntityResolver* getEntityResolver() const; EntityResolver* getEntityResolver() const;
/// Returns the entity resolver used by the underlying SAXPa rser. /// Returns the entity resolver used by the underlying SAXPa rser.
void setEntityResolver(EntityResolver* pEntityResolver); void setEntityResolver(EntityResolver* pEntityResolver);
/// Sets the entity resolver on the underlying SAXParser. /// Sets the entity resolver on the underlying SAXParser.
static const XMLString FEATURE_WHITESPACE; static const XMLString FEATURE_FILTER_WHITESPACE;
private: private:
SAXParser _saxParser; SAXParser _saxParser;
NamePool* _pNamePool; NamePool* _pNamePool;
bool _whitespace; bool _filterWhitespace;
}; };
} } // namespace Poco::XML } } // namespace Poco::XML
#endif // DOM_DOMParser_INCLUDED #endif // DOM_DOMParser_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 DOMSerializer.h   DOMSerializer.h 
// //
// DOMSerializer.h // DOMSerializer.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/DOMSerializer.h#2 $ // $Id: //poco/1.4/XML/include/Poco/DOM/DOMSerializer.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMSerializer // Module: DOMSerializer
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DOMWriter.h   DOMWriter.h 
// //
// DOMWriter.h // DOMWriter.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/DOMWriter.h#2 $ // $Id: //poco/1.4/XML/include/Poco/DOM/DOMWriter.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMWriter // Module: DOMWriter
// //
// Definition of class DOMWriter. // Definition of class DOMWriter.
// //
// 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 87 skipping to change at line 87
void setNewLine(const std::string& newLine); void setNewLine(const std::string& newLine);
/// Sets the line ending characters for the internal /// Sets the line ending characters for the internal
/// XMLWriter. See XMLWriter::setNewLine() for a list /// XMLWriter. See XMLWriter::setNewLine() for a list
/// of supported values. /// of supported values.
const std::string& getNewLine() const; const std::string& getNewLine() const;
/// Returns the line ending characters used by the /// Returns the line ending characters used by the
/// internal XMLWriter. /// internal XMLWriter.
void setIndent(const std::string& indent);
/// Sets the string used for one indentation step.
///
/// The default is a single TAB character.
/// The given string should only contain TAB or SPACE
/// characters (e.g., a single TAB character, or
/// two to four SPACE characters).
const std::string& getIndent() const;
/// Returns the string used for one indentation step.
void writeNode(XMLByteOutputStream& ostr, const Node* pNode); void writeNode(XMLByteOutputStream& ostr, const Node* pNode);
/// Writes the XML for the given node to the specified strea m. /// Writes the XML for the given node to the specified strea m.
void writeNode(const std::string& systemId, const Node* pNode); void writeNode(const std::string& systemId, const Node* pNode);
/// Writes the XML for the given node to the file specified in systemId, /// Writes the XML for the given node to the file specified in systemId,
/// using a standard file output stream (Poco::FileOutputStr eam). /// using a standard file output stream (Poco::FileOutputStr eam).
private: private:
std::string _encodingName; std::string _encodingName;
Poco::TextEncoding* _pTextEncoding; Poco::TextEncoding* _pTextEncoding;
int _options; int _options;
std::string _newLine; std::string _newLine;
std::string _indent;
}; };
// //
// inlines // inlines
// //
inline const std::string& DOMWriter::getEncoding() const inline const std::string& DOMWriter::getEncoding() const
{ {
return _encodingName; return _encodingName;
} }
inline int DOMWriter::getOptions() const inline int DOMWriter::getOptions() const
{ {
return _options; return _options;
} }
inline const std::string& DOMWriter::getNewLine() const inline const std::string& DOMWriter::getNewLine() const
{ {
return _newLine; return _newLine;
} }
inline const std::string& DOMWriter::getIndent() const
{
return _indent;
}
} } // namespace Poco::XML } } // namespace Poco::XML
#endif // DOM_DOMWriter_INCLUDED #endif // DOM_DOMWriter_INCLUDED
 End of changes. 4 change blocks. 
1 lines changed or deleted 18 lines changed or added


 DTDHandler.h   DTDHandler.h 
// //
// DTDHandler.h // DTDHandler.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/DTDHandler.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/DTDHandler.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX DTDHandler Interface. // SAX DTDHandler Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


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


 DateTimeFormatter.h   DateTimeFormatter.h 
// //
// DateTimeFormatter.h // DateTimeFormatter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DateTimeFormatter.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/DateTimeFormatter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: DateTime // Package: DateTime
// Module: DateTimeFormatter // Module: DateTimeFormatter
// //
// Definition of the DateTimeFormatter class. // Definition of the DateTimeFormatter class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DateTimeParser.h   DateTimeParser.h 
// //
// DateTimeParser.h // DateTimeParser.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DateTimeParser.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/DateTimeParser.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: DateTime // Package: DateTime
// Module: DateTimeParser // Module: DateTimeParser
// //
// Definition of the DateTimeParser class. // Definition of the DateTimeParser class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 DeclHandler.h   DeclHandler.h 
// //
// DeclHandler.h // DeclHandler.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/DeclHandler.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/DeclHandler.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX2-ext DeclHandler Interface. // SAX2-ext DeclHandler Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DefaultHandler.h   DefaultHandler.h 
// //
// DefaultHandler.h // DefaultHandler.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/DefaultHandler.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/DefaultHandler.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX-2 DefaultHandler class. // SAX-2 DefaultHandler class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DefaultStrategy.h   DefaultStrategy.h 
// //
// DefaultStrategy.h // DefaultStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DefaultStrategy.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/DefaultStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: DefaultStrategy // Module: DefaultStrategy
// //
// Implementation of the DefaultStrategy template. // Implementation of the DefaultStrategy template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_DefaultStrategy_INCLUDED #ifndef Foundation_DefaultStrategy_INCLUDED
#define Foundation_DefaultStrategy_INCLUDED #define Foundation_DefaultStrategy_INCLUDED
#include "Poco/NotificationStrategy.h" #include "Poco/NotificationStrategy.h"
#include <memory> #include <memory>
#include <set> #include <set>
#include <vector> #include <vector>
namespace Poco { namespace Poco {
template <class TArgs, class TDelegate, class TCompare> template <class TArgs, class TDelegate, class TCompare>
class DefaultStrategy: public NotificationStrategy<TArgs, TDelegate> class DefaultStrategy: public NotificationStrategy<TArgs, TDelegate>
skipping to change at line 153 skipping to change at line 153
{ {
return _observers.empty(); return _observers.empty();
} }
protected: protected:
Delegates _observers; Delegates _observers;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_DefaultStrategy_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 DeflatingStream.h   DeflatingStream.h 
// //
// DeflatingStream.h // DeflatingStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DeflatingStream.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DeflatingStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: ZLibStream // Module: ZLibStream
// //
// Definition of the DeflatingStream class. // Definition of the DeflatingStream 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_DeflatingStream_INCLUDED #ifndef Foundation_DeflatingStream_INCLUDED
#define Foundation_DeflatingStream_INCLUDED #define Foundation_DeflatingStream_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/BufferedStreamBuf.h" #include "Poco/BufferedStreamBuf.h"
#include <istream> #include <istream>
#include <ostream> #include <ostream>
#if defined(POCO_UNBUNDLED)
#include <zlib.h>
#else
#include "Poco/zlib.h" #include "Poco/zlib.h"
#endif
namespace Poco { namespace Poco {
class Foundation_API DeflatingStreamBuf: public BufferedStreamBuf class Foundation_API DeflatingStreamBuf: public BufferedStreamBuf
/// This is the streambuf class used by DeflatingInputStream and Def latingOutputStream. /// This is the streambuf class used by DeflatingInputStream and Def latingOutputStream.
/// The actual work is delegated to zlib 1.2.1 (see http://www.gzip. org). /// The actual work is delegated to zlib (see http://zlib.net).
/// Both zlib (deflate) streams and gzip streams are supported. /// Both zlib (deflate) streams and gzip streams are supported.
/// Output streams should always call close() to ensure /// Output streams should always call close() to ensure
/// proper completion of compression. /// proper completion of compression.
/// A compression level (0 to 9) can be specified in the constructor . /// A compression level (0 to 9) can be specified in the constructor .
{ {
public: public:
enum StreamType enum StreamType
{ {
STREAM_ZLIB, STREAM_ZLIB, /// Create a zlib header, use Adler-32 checksum
STREAM_GZIP .
STREAM_GZIP /// Create a gzip header, use CRC-32 checksum.
}; };
DeflatingStreamBuf(std::istream& istr, StreamType type, int level); DeflatingStreamBuf(std::istream& istr, StreamType type, int level);
/// Creates a DeflatingStreamBuf for compressing data read
/// from the given input stream.
DeflatingStreamBuf(std::istream& istr, int windowBits, int level);
/// Creates a DeflatingStreamBuf for compressing data read
/// from the given input stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
DeflatingStreamBuf(std::ostream& ostr, StreamType type, int level); DeflatingStreamBuf(std::ostream& ostr, StreamType type, int level);
/// Creates a DeflatingStreamBuf for compressing data passed
/// through and forwarding it to the given output stream.
DeflatingStreamBuf(std::ostream& ostr, int windowBits, int level);
/// Creates a DeflatingStreamBuf for compressing data passed
/// through and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
~DeflatingStreamBuf(); ~DeflatingStreamBuf();
/// Destroys the DeflatingStreamBuf.
int close(); int close();
/// Finishes up the stream.
///
/// Must be called when deflating to an output stream.
protected: protected:
int readFromDevice(char* buffer, std::streamsize length); int readFromDevice(char* buffer, std::streamsize length);
int writeToDevice(const char* buffer, std::streamsize length); int writeToDevice(const char* buffer, std::streamsize length);
virtual int sync();
private: private:
enum enum
{ {
STREAM_BUFFER_SIZE = 1024, STREAM_BUFFER_SIZE = 1024,
DEFLATE_BUFFER_SIZE = 32768 DEFLATE_BUFFER_SIZE = 32768
}; };
std::istream* _pIstr; std::istream* _pIstr;
std::ostream* _pOstr; std::ostream* _pOstr;
skipping to change at line 95 skipping to change at line 125
}; };
class Foundation_API DeflatingIOS: public virtual std::ios class Foundation_API DeflatingIOS: public virtual std::ios
/// The base class for DeflatingOutputStream and DeflatingInputStrea m. /// The base class for DeflatingOutputStream and DeflatingInputStrea m.
/// ///
/// 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:
DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION);
/// Creates a DeflatingIOS for compressing data passed
/// through and forwarding it to the given output stream.
DeflatingIOS(std::ostream& ostr, int windowBits, int level);
/// Creates a DeflatingIOS for compressing data passed
/// through and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION);
/// Creates a DeflatingIOS for compressing data read
/// from the given input stream.
DeflatingIOS(std::istream& istr, int windowBits, int level);
/// Creates a DeflatingIOS for compressing data read
/// from the given input stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
~DeflatingIOS(); ~DeflatingIOS();
/// Destroys the DeflatingIOS.
DeflatingStreamBuf* rdbuf(); DeflatingStreamBuf* rdbuf();
/// Returns a pointer to the underlying stream buffer.
protected: protected:
DeflatingStreamBuf _buf; DeflatingStreamBuf _buf;
}; };
class Foundation_API DeflatingOutputStream: public DeflatingIOS, public std ::ostream class Foundation_API DeflatingOutputStream: public DeflatingIOS, public std ::ostream
/// This stream compresses all data passing through it /// This stream compresses all data passing through it
/// using zlib's deflate algorithm. /// using zlib's deflate algorithm.
/// After all data has been written to the stream, close() /// After all data has been written to the stream, close()
/// must be called to ensure completion of compression. /// must be called to ensure completion of compression.
/// Example: /// Example:
/// std::ofstream ostr("data.gz", std::ios::binary); /// std::ofstream ostr("data.gz", std::ios::binary);
/// DeflatingOutputStream deflater(ostr, DeflatingStreamBuf::STR EAM_GZIP); /// DeflatingOutputStream deflater(ostr, DeflatingStreamBuf::STR EAM_GZIP);
/// deflater << "Hello, world!" << std::endl; /// deflater << "Hello, world!" << std::endl;
/// deflater.close(); /// deflater.close();
/// ostr.close(); /// ostr.close();
{ {
public: public:
DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::Stream Type type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESS ION); DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::Stream Type type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESS ION);
/// Creates a DeflatingOutputStream for compressing data pas
sed
/// through and forwarding it to the given output stream.
DeflatingOutputStream(std::ostream& ostr, int windowBits, int level)
;
/// Creates a DeflatingOutputStream for compressing data pas
sed
/// through and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
~DeflatingOutputStream(); ~DeflatingOutputStream();
/// Destroys the DeflatingOutputStream.
int close(); int close();
/// Finishes up the stream.
///
/// Must be called when deflating to an output stream.
protected:
virtual int sync();
}; };
class Foundation_API DeflatingInputStream: public DeflatingIOS, public std: :istream class Foundation_API DeflatingInputStream: public DeflatingIOS, public std: :istream
/// This stream compresses all data passing through it /// This stream compresses all data passing through it
/// using zlib's deflate algorithm. /// using zlib's deflate algorithm.
{ {
public: public:
DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamT ype type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSI ON); DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamT ype type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSI ON);
/// Creates a DeflatingIOS for compressing data read
/// from the given input stream.
DeflatingInputStream(std::istream& istr, int windowBits, int level);
/// Creates a DeflatingIOS for compressing data read
/// from the given input stream.
///
/// Please refer to the zlib documentation of deflateInit2()
for a description
/// of the windowBits parameter.
~DeflatingInputStream(); ~DeflatingInputStream();
/// Destroys the DeflatingInputStream.
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_DeflatingStream_INCLUDED #endif // Foundation_DeflatingStream_INCLUDED
 End of changes. 19 change blocks. 
4 lines changed or deleted 96 lines changed or added


 Delegate.h   Delegate.h 
// //
// Delegate.h // Delegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Delegate.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Delegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: Delegate // Module: Delegate
// //
// Implementation of the Delegate template. // Implementation of the Delegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_Delegate_INCLUDED #ifndef Foundation_Delegate_INCLUDED
#define Foundation_Delegate_INCLUDED #define Foundation_Delegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/AbstractDelegate.h" #include "Poco/AbstractDelegate.h"
#include "Poco/FunctionDelegate.h" #include "Poco/FunctionDelegate.h"
#include "Poco/Expire.h" #include "Poco/Expire.h"
namespace Poco { namespace Poco {
template <class TObj, class TArgs, bool withSender=true> template <class TObj, class TArgs, bool withSender=true>
class Delegate: public AbstractDelegate<TArgs> class Delegate: public AbstractDelegate<TArgs>
skipping to change at line 218 skipping to change at line 218
} }
template <class TArgs> template <class TArgs>
static FunctionDelegate<TArgs, false> delegate(void (*NotifyMethod)(TArgs&) ) static FunctionDelegate<TArgs, false> delegate(void (*NotifyMethod)(TArgs&) )
{ {
return FunctionDelegate<TArgs, false>(NotifyMethod); return FunctionDelegate<TArgs, false>(NotifyMethod);
} }
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_Delegate_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 DialogSocket.h   DialogSocket.h 
// //
// DialogSocket.h // DialogSocket.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/DialogSocket.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/DialogSocket.h#1 $
// //
// Library: Net // Library: Net
// Package: Sockets // Package: Sockets
// Module: DialogSocket // Module: DialogSocket
// //
// Definition of the DialogSocket class. // Definition of the DialogSocket 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 61 skipping to change at line 61
/// ///
/// A request is always a single-line command terminated /// A request is always a single-line command terminated
/// by CR-LF. /// by CR-LF.
/// ///
/// A response can either be a single line of text terminated /// A response can either be a single line of text terminated
/// by CR-LF, or multiple lines of text in the format used /// by CR-LF, or multiple lines of text in the format used
/// by the FTP and SMTP protocols. /// by the FTP and SMTP protocols.
/// ///
/// Limited support for the TELNET protocol (RFC 854) is /// Limited support for the TELNET protocol (RFC 854) is
/// available. /// available.
///
/// Warning: Do not call receiveBytes() on a DialogSocket.
/// Due to internal buffering in DialogSocket, receiveBytes()
/// may return an unexpected result and interfere with
/// DialogSocket's buffering. Use receiveRawBytes() instead.
{ {
public: public:
DialogSocket(); DialogSocket();
/// Creates an unconnected stream socket. /// Creates an unconnected stream socket.
/// ///
/// Before sending or receiving data, the socket /// Before sending or receiving data, the socket
/// must be connected with a call to connect(). /// must be connected with a call to connect().
explicit DialogSocket(const SocketAddress& address); explicit DialogSocket(const SocketAddress& address);
/// Creates a stream socket and connects it to /// Creates a stream socket and connects it to
skipping to change at line 89 skipping to change at line 94
~DialogSocket(); ~DialogSocket();
/// Destroys the DialogSocket. /// Destroys the DialogSocket.
DialogSocket& operator = (const Socket& socket); DialogSocket& operator = (const Socket& socket);
/// Assignment operator. /// Assignment operator.
/// ///
/// Releases the socket's SocketImpl and /// Releases the socket's SocketImpl and
/// attaches the SocketImpl from the other socket and /// attaches the SocketImpl from the other socket and
/// increments the reference count of the SocketImpl. /// increments the reference count of the SocketImpl.
DialogSocket& operator = (const DialogSocket& socket);
/// Assignment operator.
void sendByte(unsigned char ch); void sendByte(unsigned char ch);
/// Sends a single byte over the socket connection. /// Sends a single byte over the socket connection.
void sendString(const char* str); void sendString(const char* str);
/// Sends the given null-terminated string over /// Sends the given null-terminated string over
/// the socket connection. /// the socket connection.
void sendString(const std::string& str); void sendString(const std::string& str);
/// Sends the given string over the socket connection. /// Sends the given string over the socket connection.
skipping to change at line 150 skipping to change at line 158
/// ///
/// Returns -1 (EOF_CHAR) if no more characters are availabl e. /// Returns -1 (EOF_CHAR) if no more characters are availabl e.
int peek(); int peek();
/// Returns the character that would be returned by the next call /// Returns the character that would be returned by the next call
/// to get(), without actually extracting the character from the /// to get(), without actually extracting the character from the
/// buffer. /// buffer.
/// ///
/// Returns -1 (EOF_CHAR) if no more characters are availabl e. /// Returns -1 (EOF_CHAR) if no more characters are availabl e.
int receiveRawBytes(void* buffer, int length);
/// Read up to length bytes from the connection and place
/// them into buffer. If there are data bytes in the interna
l
/// buffer, these bytes are returned first.
///
/// Use this member function instead of receiveBytes().
///
/// Returns the number of bytes read, which may be
/// less than requested.
void synch(); void synch();
/// Sends a TELNET SYNCH signal over the connection. /// Sends a TELNET SYNCH signal over the connection.
/// ///
/// According to RFC 854, a TELNET_DM char is sent /// According to RFC 854, a TELNET_DM char is sent
/// via sendUrgent(). /// via sendUrgent().
void sendTelnetCommand(unsigned char command); void sendTelnetCommand(unsigned char command);
/// Sends a TELNET command sequence (TELNET_IAC followed /// Sends a TELNET command sequence (TELNET_IAC followed
/// by the given command) over the connection. /// by the given command) over the connection.
 End of changes. 4 change blocks. 
1 lines changed or deleted 20 lines changed or added


 DigestEngine.h   DigestEngine.h 
// //
// DigestEngine.h // DigestEngine.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DigestEngine.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DigestEngine.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Crypt // Package: Crypt
// Module: DigestEngine // Module: DigestEngine
// //
// Definition of class DigestEngine. // Definition of class DigestEngine.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DigestStream.h   DigestStream.h 
// //
// DigestStream.h // DigestStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DigestStream.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DigestStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Crypt // Package: Crypt
// Module: DigestStream // Module: DigestStream
// //
// Definition of classes DigestInputStream and DigestOutputStream. // Definition of classes DigestInputStream and DigestOutputStream.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 DirectoryIterator_UNIX.h   DirectoryIterator_UNIX.h 
// //
// DirectoryIterator_UNIX.h // DirectoryIterator_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DirectoryIterator_UNIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DirectoryIterator_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: DirectoryIterator // Module: DirectoryIterator
// //
// Definition of the DirectoryIteratorImpl class for UNIX. // Definition of the DirectoryIteratorImpl class for UNIX.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DirectoryIterator_VMS.h   DirectoryIterator_VMS.h 
// //
// DirectoryIterator_VMS.h // DirectoryIterator_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DirectoryIterator_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/DirectoryIterator_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: DirectoryIterator // Module: DirectoryIterator
// //
// Definition of the DirectoryIteratorImpl class for OpenVMS. // Definition of the DirectoryIteratorImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DirectoryIterator_WIN32.h   DirectoryIterator_WIN32.h 
// //
// DirectoryIterator_WIN32.h // DirectoryIterator_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DirectoryIterator_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/DirectoryIterator_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: DirectoryIterator // Module: DirectoryIterator
// //
// Definition of the DirectoryIteratorImpl class for WIN32. // Definition of the DirectoryIteratorImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DirectoryIterator_WIN32U.h   DirectoryIterator_WIN32U.h 
// //
// DirectoryIterator_WIN32U.h // DirectoryIterator_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DirectoryIterator_WIN32U.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/DirectoryIterator_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: DirectoryIterator // Module: DirectoryIterator
// //
// Definition of the DirectoryIteratorImpl class for WIN32. // Definition of the DirectoryIteratorImpl class for WIN32.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Document.h   Document.h 
// //
// Document.h // Document.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/Document.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/Document.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM Document class. // Definition of the DOM Document 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 DOM_Document_INCLUDED #ifndef DOM_Document_INCLUDED
#define DOM_Document_INCLUDED #define DOM_Document_INCLUDED
#include "Poco/XML/XML.h" #include "Poco/XML/XML.h"
#include "Poco/DOM/AbstractContainerNode.h" #include "Poco/DOM/AbstractContainerNode.h"
#include "Poco/DOM/DocumentEvent.h" #include "Poco/DOM/DocumentEvent.h"
#include "Poco/DOM/Element.h"
#include "Poco/XML/XMLString.h" #include "Poco/XML/XMLString.h"
#include "Poco/XML/NamePool.h" #include "Poco/XML/NamePool.h"
#include "Poco/AutoReleasePool.h" #include "Poco/AutoReleasePool.h"
namespace Poco { namespace Poco {
namespace XML { namespace XML {
class NamePool; class NamePool;
class DocumentType; class DocumentType;
class DOMImplementation; class DOMImplementation;
class Element;
class DocumentFragment; class DocumentFragment;
class Text; class Text;
class Comment; class Comment;
class CDATASection; class CDATASection;
class ProcessingInstruction; class ProcessingInstruction;
class Attr; class Attr;
class EntityReference; class EntityReference;
class NodeList; class NodeList;
class Entity; class Entity;
class Notation; class Notation;
skipping to change at line 244 skipping to change at line 244
/// has the given elementId. If no such element exists, retu rns null. /// has the given elementId. If no such element exists, retu rns null.
/// ///
/// This method is an extension to the W3C Document Object M odel. /// This method is an extension to the W3C Document Object M odel.
Element* getElementByIdNS(const XMLString& elementId, const XMLStrin g& idAttributeURI, const XMLString& idAttributeLocalName) const; Element* getElementByIdNS(const XMLString& elementId, const XMLStrin g& idAttributeURI, const XMLString& idAttributeLocalName) const;
/// Returns the first Element whose ID attribute (given in i dAttributeURI and idAttributeLocalName) /// Returns the first Element whose ID attribute (given in i dAttributeURI and idAttributeLocalName)
/// has the given elementId. If no such element exists, retu rns null. /// has the given elementId. If no such element exists, retu rns null.
/// ///
/// This method is an extension to the W3C Document Object M odel. /// This method is an extension to the W3C Document Object M odel.
Node* getNodeByPath(const XMLString& path);
/// Searches a node (element or attribute) based on a simpli
fied XPath
/// expression.
///
/// Only simple XPath expressions are supported. These are t
he slash
/// notation for specifying paths to elements, and the squar
e bracket
/// expression for finding elements by their index, by attri
bute value,
/// or finding attributes by names.
///
/// The slash at the beginning is optional, the evaluation a
lways starts
/// at the document element.
///
/// Examples:
/// /elem1/elem2/elem3
/// /elem1/elem2[1]
/// /elem1/elem2[@attr1]
/// /elem1/elem2[@attr1='value']
///
/// This method is an extension to the W3C Document Object M
odel.
Node* getNodeByPathNS(const XMLString& path, const Element::NSMap& n
sMap);
/// Searches a node (element or attribute) based on a simpli
fied XPath
/// expression. The given NSMap must contain mappings from n
amespace
/// prefixes to namespace URIs for all namespace prefixes us
ed in
/// the path expression.
///
/// Only simple XPath expressions are supported. These are t
he slash
/// notation for specifying paths to elements, and the squar
e bracket
/// expression for finding elements by their index, by attri
bute value,
/// or finding attributes by names.
///
/// The slash at the beginning is optional, the evaluation a
lways starts
/// at the document element.
///
/// Examples:
/// /ns1:elem1/ns2:elem2/ns2:elem3
/// /ns1:elem1/ns2:elem2[1]
/// /ns1:elem1/ns2:elem2[@attr1]
/// /ns1:elem1/ns2:elem2[@attr1='value']
///
/// This method is an extension to the W3C Document Object M
odel.
protected: protected:
~Document(); ~Document();
Node* copyNode(bool deep, Document* pOwnerDocument) const; Node* copyNode(bool deep, Document* pOwnerDocument) const;
DocumentType* getDoctype(); DocumentType* getDoctype();
void setDoctype(DocumentType* pDoctype); void setDoctype(DocumentType* pDoctype);
private: private:
DocumentType* _pDocumentType; DocumentType* _pDocumentType;
 End of changes. 4 change blocks. 
2 lines changed or deleted 59 lines changed or added


 DocumentEvent.h   DocumentEvent.h 
// //
// DocumentEvent.h // DocumentEvent.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/DocumentEvent.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/DocumentEvent.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM DocumentEvent interface. // Definition of the DOM DocumentEvent interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 DynamicAny.h   DynamicAny.h 
// //
// DynamicAny.h // DynamicAny.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DynamicAny.h#9 $ // $Id: //poco/1.4/Foundation/include/Poco/DynamicAny.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: DynamicAny // Module: DynamicAny
// //
// Definition of the DynamicAny class. // Definition of the DynamicAny class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DynamicAnyHolder.h   DynamicAnyHolder.h 
// //
// DynamicAnyHolder.h // DynamicAnyHolder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/DynamicAnyHolder.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/DynamicAnyHolder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Element.h   Element.h 
// //
// Element.h // Element.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/Element.h#2 $ // $Id: //poco/1.4/XML/include/Poco/DOM/Element.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM Element class. // Definition of the DOM Element 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 DOM_Element_INCLUDED #ifndef DOM_Element_INCLUDED
#define DOM_Element_INCLUDED #define DOM_Element_INCLUDED
#include "Poco/XML/XML.h" #include "Poco/XML/XML.h"
#include "Poco/DOM/AbstractContainerNode.h" #include "Poco/DOM/AbstractContainerNode.h"
#include "Poco/XML/Name.h" #include "Poco/XML/Name.h"
#include "Poco/SAX/NamespaceSupport.h"
namespace Poco { namespace Poco {
namespace XML { namespace XML {
class Attr; class Attr;
class NodeList; class NodeList;
class Document; class Document;
class XML_API Element: public AbstractContainerNode class XML_API Element: public AbstractContainerNode
/// The Element interface represents an element in an XML document. /// The Element interface represents an element in an XML document.
skipping to change at line 175 skipping to change at line 176
/// ///
/// The returned NodeList must be released with a call /// The returned NodeList must be released with a call
/// to release() when no longer needed. /// to release() when no longer needed.
const XMLString& namespaceURI() const; const XMLString& namespaceURI() const;
XMLString prefix() const; XMLString prefix() const;
const XMLString& localName() const; const XMLString& localName() const;
bool hasAttributes() const; bool hasAttributes() const;
// Non-standard extensions // Non-standard extensions
typedef Poco::XML::NamespaceSupport NSMap;
XMLString innerText() const; XMLString innerText() const;
Element* getChildElement(const XMLString& name) const; Element* getChildElement(const XMLString& name) const;
/// Returns the first child element with the given name, or null /// Returns the first child element with the given name, or null
/// if such an element does not exist. /// if such an element does not exist.
/// ///
/// This method is an extension to the W3C Document Object M odel. /// This method is an extension to the W3C Document Object M odel.
Element* getChildElementNS(const XMLString& namespaceURI, const XMLS tring& localName) const; Element* getChildElementNS(const XMLString& namespaceURI, const XMLS tring& localName) const;
/// Returns the first child element with the given namespace URI and localName, /// Returns the first child element with the given namespace URI and localName,
skipping to change at line 201 skipping to change at line 204
/// has the given elementId. If no such element exists, retu rns null. /// has the given elementId. If no such element exists, retu rns null.
/// ///
/// This method is an extension to the W3C Document Object M odel. /// This method is an extension to the W3C Document Object M odel.
Element* getElementByIdNS(const XMLString& elementId, const XMLStrin g& idAttributeURI, const XMLString& idAttributeLocalName) const; Element* getElementByIdNS(const XMLString& elementId, const XMLStrin g& idAttributeURI, const XMLString& idAttributeLocalName) const;
/// Returns the first Element whose ID attribute (given in i dAttributeURI and idAttributeLocalName) /// Returns the first Element whose ID attribute (given in i dAttributeURI and idAttributeLocalName)
/// has the given elementId. If no such element exists, retu rns null. /// has the given elementId. If no such element exists, retu rns null.
/// ///
/// This method is an extension to the W3C Document Object M odel. /// This method is an extension to the W3C Document Object M odel.
Node* getNodeByPath(const XMLString& path);
/// Searches a node (element or attribute) based on a simpli
fied XPath
/// expression.
///
/// Only simple XPath expressions are supported. These are t
he slash
/// notation for specifying paths to elements, and the squar
e bracket
/// expression for finding elements by their index, by attri
bute value,
/// or finding attributes by names.
///
/// The slash at the beginning is optional, the evaluation a
lways starts
/// at this element.
///
/// Examples:
/// /elem1/elem2/elem3
/// /elem1/elem2[1]
/// /elem1/elem2[@attr1]
/// /elem1/elem2[@attr1='value']
///
/// This method is an extension to the W3C Document Object M
odel.
Node* getNodeByPathNS(const XMLString& path, const NSMap& nsMap);
/// Searches a node (element or attribute) based on a simpli
fied XPath
/// expression. The given NSMap must contain mappings from n
amespace
/// prefixes to namespace URIs for all namespace prefixes us
ed in
/// the path expression.
///
/// Only simple XPath expressions are supported. These are t
he slash
/// notation for specifying paths to elements, and the squar
e bracket
/// expression for finding elements by their index, by attri
bute value,
/// or finding attributes by names.
///
/// The slash at the beginning is optional, the evaluation a
lways starts
/// at this element.
///
/// Examples:
/// /ns1:elem1/ns2:elem2/ns2:elem3
/// /ns1:elem1/ns2:elem2[1]
/// /ns1:elem1/ns2:elem2[@attr1]
/// /ns1:elem1/ns2:elem2[@attr1='value']
///
/// This method is an extension to the W3C Document Object M
odel.
// Node // Node
const XMLString& nodeName() const; const XMLString& nodeName() const;
NamedNodeMap* attributes() const; NamedNodeMap* attributes() const;
unsigned short nodeType() const; unsigned short nodeType() const;
protected: protected:
Element(Document* pOwnerDocument, const XMLString& namespaceURI, con st XMLString& localName, const XMLString& qname); Element(Document* pOwnerDocument, const XMLString& namespaceURI, con st XMLString& localName, const XMLString& qname);
Element(Document* pOwnerDocument, const Element& elem); Element(Document* pOwnerDocument, const Element& elem);
~Element(); ~Element();
Node* copyNode(bool deep, Document* pOwnerDocument) const; Node* copyNode(bool deep, Document* pOwnerDocument) const;
void dispatchNodeRemovedFromDocument(); void dispatchNodeRemovedFromDocument();
void dispatchNodeInsertedIntoDocument(); void dispatchNodeInsertedIntoDocument();
static Node* findNode(XMLString::const_iterator& it, const XMLString
::const_iterator& end, Node* pNode, const NSMap* pNSMap);
static Node* findElement(const XMLString& name, Node* pNode, const N
SMap* pNSMap);
static Node* findElement(int index, Node* pNode, const NSMap* pNSMap
);
static Node* findElement(const XMLString& attr, const XMLString& val
ue, Node* pNode, const NSMap* pNSMap);
static Attr* findAttribute(const XMLString& name, Node* pNode, const
NSMap* pNSMap);
bool hasAttributeValue(const XMLString& name, const XMLString& value
, const NSMap* pNSMap);
static bool namesAreEqual(Node* pNode1, Node* pNode2, const NSMap* p
NSMap);
static bool namesAreEqual(Node* pNode, const XMLString& name, const
NSMap* pNSMap);
private: private:
const Name& _name; const Name& _name;
Attr* _pFirstAttr; Attr* _pFirstAttr;
friend class Attr; friend class Attr;
friend class Document; friend class Document;
friend class AttrMap; friend class AttrMap;
}; };
// //
 End of changes. 5 change blocks. 
1 lines changed or deleted 77 lines changed or added


 ElementsByTagNameList.h   ElementsByTagNameList.h 
// //
// ElementsByTagNameList.h // ElementsByTagNameList.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/ElementsByTagNameList.h#2 $ // $Id: //poco/1.4/XML/include/Poco/DOM/ElementsByTagNameList.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the ElementsByTagNameList and ElementsByTagNameListNS clas ses. // Definition of the ElementsByTagNameList and ElementsByTagNameListNS clas ses.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 EntityResolver.h   EntityResolver.h 
// //
// EntityResolver.h // EntityResolver.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/EntityResolver.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/EntityResolver.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX EntityResolver Interface. // SAX EntityResolver Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EntityResolverImpl.h   EntityResolverImpl.h 
// //
// EntityResolverImpl.h // EntityResolverImpl.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/EntityResolverImpl.h#2 $ // $Id: //poco/1.4/XML/include/Poco/SAX/EntityResolverImpl.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// An implementation of EntityResolver. // An implementation of EntityResolver.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Environment.h   Environment.h 
// //
// Environment.h // Environment.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Environment.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Environment.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Environment // Module: Environment
// //
// Definition of the Environment class. // Definition of the Environment 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 98 skipping to change at line 98
static std::string nodeId(); static std::string nodeId();
/// Returns the Ethernet address (format "xx:xx:xx:xx:xx:xx" ) /// Returns the Ethernet address (format "xx:xx:xx:xx:xx:xx" )
/// of the first Ethernet adapter found on the system. /// of the first Ethernet adapter found on the system.
/// ///
/// Throws a SystemException if no Ethernet adapter is avail able. /// Throws a SystemException if no Ethernet adapter is avail able.
static unsigned processorCount(); static unsigned processorCount();
/// Returns the number of processors installed in the system . /// Returns the number of processors installed in the system .
/// ///
/// If the number of processors cannot be determined, return s 1. /// If the number of processors cannot be determined, return s 1.
static Poco::UInt32 libraryVersion();
/// Returns the POCO C++ Libraries version as a hexadecimal
/// number in format 0xAABBCCDD, where
/// - AA is the major version number,
/// - BB is the minor version number,
/// - CC is the revision number, and
/// - DD is the patch level number.
///
/// Some patch level ranges have special meanings:
/// - Dx mark development releases,
/// - Ax mark alpha releases, and
/// - Bx mark beta releases.
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_Environment_INCLUDED #endif // Foundation_Environment_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 14 lines changed or added


 Environment_UNIX.h   Environment_UNIX.h 
// //
// Environment_UNIX.h // Environment_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Environment_UNIX.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Environment_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Environment // Module: Environment
// //
// Definition of the EnvironmentImpl class for Unix. // Definition of the EnvironmentImpl class for Unix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Environment_VMS.h   Environment_VMS.h 
// //
// Environment_VMS.h // Environment_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Environment_VMS.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Environment_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Environment // Module: Environment
// //
// Definition of the EnvironmentImpl class for OpenVMS. // Definition of the EnvironmentImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Environment_WIN32.h   Environment_WIN32.h 
// //
// Environment_WIN32.h // Environment_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Environment_WIN32.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Environment_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Environment // Module: Environment
// //
// Definition of the EnvironmentImpl class for WIN32. // Definition of the EnvironmentImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Environment_WIN32U.h   Environment_WIN32U.h 
// //
// Environment_WIN32U.h // Environment_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Environment_WIN32U.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Environment_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Environment // Module: Environment
// //
// Definition of the EnvironmentImpl class for WIN32. // Definition of the EnvironmentImpl class for WIN32.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Event.h   Event.h 
// //
// Event.h // Event.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/Event.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/Event.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the DOM Event class. // Definition of the DOM Event class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventArgs.h   EventArgs.h 
// //
// EventArgs.h // EventArgs.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/EventArgs.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/EventArgs.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: EventArgs // Module: EventArgs
// //
// Definition of EventArgs. // Definition of EventArgs.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventDispatcher.h   EventDispatcher.h 
// //
// EventDispatcher.h // EventDispatcher.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/EventDispatcher.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/EventDispatcher.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the EventDispatcher class. // Definition of the EventDispatcher class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventException.h   EventException.h 
// //
// EventException.h // EventException.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/EventException.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/EventException.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the DOM EventException class. // Definition of the DOM EventException class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventListener.h   EventListener.h 
// //
// EventListener.h // EventListener.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/EventListener.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/EventListener.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the DOM EventListener interface. // Definition of the DOM EventListener interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventLogChannel.h   EventLogChannel.h 
// //
// EventLogChannel.h // EventLogChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/EventLogChannel.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/EventLogChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: EventLogChannel // Module: EventLogChannel
// //
// Definition of the EventLogChannel class specific to WIN32. // Definition of the EventLogChannel class specific to WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 EventTarget.h   EventTarget.h 
// //
// EventTarget.h // EventTarget.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/EventTarget.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/EventTarget.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the DOM EventTarget interface. // Definition of the DOM EventTarget interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Event_POSIX.h   Event_POSIX.h 
// //
// Event_POSIX.h // Event_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Event_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Event_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Event // Module: Event
// //
// Definition of the EventImpl class for POSIX Threads. // Definition of the EventImpl class for POSIX Threads.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Event_WIN32.h   Event_WIN32.h 
// //
// Event_WIN32.h // Event_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Event_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Event_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Event // Module: Event
// //
// Definition of the EventImpl class for WIN32. // Definition of the EventImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 50 skipping to change at line 50
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include "Poco/UnWindows.h" #include "Poco/UnWindows.h"
namespace Poco { namespace Poco {
class Foundation_API EventImpl class Foundation_API EventImpl
{ {
protected: protected:
EventImpl(bool autoReset = false); EventImpl(bool autoReset);
~EventImpl(); ~EventImpl();
void setImpl(); void setImpl();
void waitImpl(); void waitImpl();
bool waitImpl(long milliseconds); bool waitImpl(long milliseconds);
void resetImpl(); void resetImpl();
private: private:
HANDLE _event; HANDLE _event;
}; };
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Exception.h   Exception.h 
// //
// Exception.h // Exception.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Exception.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Exception.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Exception // Module: Exception
// //
// Definition of various Poco exception classes. // Definition of various Poco exception classes.
// //
// 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 217 skipping to change at line 217
{ \ { \
throw *this; \ throw *this; \
} }
// //
// Standard exception classes // Standard exception classes
// //
POCO_DECLARE_EXCEPTION(Foundation_API, LogicException, Exception) POCO_DECLARE_EXCEPTION(Foundation_API, LogicException, Exception)
POCO_DECLARE_EXCEPTION(Foundation_API, AssertionViolationException, LogicEx ception) POCO_DECLARE_EXCEPTION(Foundation_API, AssertionViolationException, LogicEx ception)
POCO_DECLARE_EXCEPTION(Foundation_API, NullPointerException, LogicException ) POCO_DECLARE_EXCEPTION(Foundation_API, NullPointerException, LogicException )
POCO_DECLARE_EXCEPTION(Foundation_API, NullValueException, LogicException)
POCO_DECLARE_EXCEPTION(Foundation_API, BugcheckException, LogicException) POCO_DECLARE_EXCEPTION(Foundation_API, BugcheckException, LogicException)
POCO_DECLARE_EXCEPTION(Foundation_API, InvalidArgumentException, LogicExcep tion) POCO_DECLARE_EXCEPTION(Foundation_API, InvalidArgumentException, LogicExcep tion)
POCO_DECLARE_EXCEPTION(Foundation_API, NotImplementedException, LogicExcept ion) POCO_DECLARE_EXCEPTION(Foundation_API, NotImplementedException, LogicExcept ion)
POCO_DECLARE_EXCEPTION(Foundation_API, RangeException, LogicException) POCO_DECLARE_EXCEPTION(Foundation_API, RangeException, LogicException)
POCO_DECLARE_EXCEPTION(Foundation_API, IllegalStateException, LogicExceptio n) POCO_DECLARE_EXCEPTION(Foundation_API, IllegalStateException, LogicExceptio n)
POCO_DECLARE_EXCEPTION(Foundation_API, InvalidAccessException, LogicExcepti on) POCO_DECLARE_EXCEPTION(Foundation_API, InvalidAccessException, LogicExcepti on)
POCO_DECLARE_EXCEPTION(Foundation_API, SignalException, LogicException) POCO_DECLARE_EXCEPTION(Foundation_API, SignalException, LogicException)
POCO_DECLARE_EXCEPTION(Foundation_API, UnhandledException, LogicException) POCO_DECLARE_EXCEPTION(Foundation_API, UnhandledException, LogicException)
POCO_DECLARE_EXCEPTION(Foundation_API, RuntimeException, Exception) POCO_DECLARE_EXCEPTION(Foundation_API, RuntimeException, Exception)
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 ExpirationDecorator.h   ExpirationDecorator.h 
// //
// ExpirationDecorator.h // ExpirationDecorator.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ExpirationDecorator.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/ExpirationDecorator.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: ExpirationDecorator // Module: ExpirationDecorator
// //
// Implementation of the ExpirationDecorator template. // Implementation of the ExpirationDecorator template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_ExpirationDecorator_INCLUDED #ifndef Foundation_ExpirationDecorator_INCLUDED
#define Foundation_ExpirationDecorator_INCLUDED #define Foundation_ExpirationDecorator_INCLUDED
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
namespace Poco { namespace Poco {
template <typename TArgs> template <typename TArgs>
class ExpirationDecorator class ExpirationDecorator
/// ExpirationDecorator adds an expiration method to values so that they can be used /// ExpirationDecorator adds an expiration method to values so that they can be used
/// with the UniqueExpireCache /// with the UniqueExpireCache.
{ {
public: public:
ExpirationDecorator(): ExpirationDecorator():
_value(), _value(),
_expiresAt() _expiresAt()
{ {
} }
ExpirationDecorator(const TArgs& p, const Poco::Timespan::TimeDiff& diffInMs): ExpirationDecorator(const TArgs& p, const Poco::Timespan::TimeDiff& diffInMs):
/// Creates an element that will expire in diff mill iseconds /// Creates an element that will expire in diff mill iseconds
skipping to change at line 107 skipping to change at line 107
return _value; return _value;
} }
private: private:
TArgs _value; TArgs _value;
Timestamp _expiresAt; Timestamp _expiresAt;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_ExpirationDecorator_INCLUDED
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 Expire.h   Expire.h 
// //
// Expire.h // Expire.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Expire.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Expire.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: Expire // Module: Expire
// //
// Implementation of the Expire template. // Implementation of the Expire template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_Expire_INCLUDED #ifndef Foundation_Expire_INCLUDED
#define Foundation_Expire_INCLUDED #define Foundation_Expire_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/AbstractDelegate.h" #include "Poco/AbstractDelegate.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs>
class Expire: public AbstractDelegate<TArgs> class Expire: public AbstractDelegate<TArgs>
/// Decorator for AbstractDelegate adding automatic /// Decorator for AbstractDelegate adding automatic
skipping to change at line 126 skipping to change at line 126
AbstractDelegate<TArgs>* _pDelegate; AbstractDelegate<TArgs>* _pDelegate;
Timestamp::TimeDiff _expire; Timestamp::TimeDiff _expire;
Timestamp _creationTime; Timestamp _creationTime;
private: private:
Expire(); Expire();
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_Expire_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 ExpireCache.h   ExpireCache.h 
// //
// ExpireCache.h // ExpireCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ExpireCache.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/ExpireCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: ExpireCache // Module: ExpireCache
// //
// Definition of the ExpireCache class. // Definition of the ExpireCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_ExpireCache_INCLUDED #ifndef Foundation_ExpireCache_INCLUDED
#define Foundation_ExpireCache_INCLUDED #define Foundation_ExpireCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/ExpireStrategy.h" #include "Poco/ExpireStrategy.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <
class ExpireCache: public AbstractCache<TKey, TValue, ExpireStrategy<TKey, class TKey,
TValue> > class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
>
class ExpireCache: public AbstractCache<TKey, TValue, ExpireStrategy<TKey,
TValue>, TMutex, TEventMutex>
/// An ExpireCache caches entries for a fixed time period (per defau lt 10 minutes). /// An ExpireCache caches entries for a fixed time period (per defau lt 10 minutes).
/// Entries expire independently of the access pattern, i.e. after a constant time. /// Entries expire independently of the access pattern, i.e. after a constant time.
/// If you require your objects to expire after they were not access ed for a given time /// If you require your objects to expire after they were not access ed for a given time
/// period use a Poco::AccessExpireCache. /// period use a Poco::AccessExpireCache.
/// ///
/// Be careful when using an ExpireCache. A cache is often used /// Be careful when using an ExpireCache. A cache is often used
/// like cache.has(x) followed by cache.get x). Note that it could h appen /// like cache.has(x) followed by cache.get x). Note that it could h appen
/// that the "has" call works, then the current execution thread get s descheduled, time passes, /// that the "has" call works, then the current execution thread get s descheduled, time passes,
/// the entry gets invalid, thus leading to an empty SharedPtr being returned /// the entry gets invalid, thus leading to an empty SharedPtr being returned
/// when "get" is invoked. /// when "get" is invoked.
{ {
public: public:
ExpireCache(Timestamp::TimeDiff expire = 600000): ExpireCache(Timestamp::TimeDiff expire = 600000):
AbstractCache<TKey, TValue, ExpireStrategy<TKey, TValue> >(E xpireStrategy<TKey, TValue>(expire)) AbstractCache<TKey, TValue, ExpireStrategy<TKey, TValue>, TM utex, TEventMutex>(ExpireStrategy<TKey, TValue>(expire))
{ {
} }
~ExpireCache() ~ExpireCache()
{ {
} }
private: private:
ExpireCache(const ExpireCache& aCache); ExpireCache(const ExpireCache& aCache);
ExpireCache& operator = (const ExpireCache& aCache); ExpireCache& operator = (const ExpireCache& aCache);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_ExpireCache_INCLUDED
 End of changes. 5 change blocks. 
7 lines changed or deleted 12 lines changed or added


 ExpireLRUCache.h   ExpireLRUCache.h 
// //
// ExpireLRUCache.h // ExpireLRUCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ExpireLRUCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/ExpireLRUCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: ExpireLRUCache // Module: ExpireLRUCache
// //
// Definition of the ExpireLRUCache class. // Definition of the ExpireLRUCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_ExpireLRUCache_INCLUDED #ifndef Foundation_ExpireLRUCache_INCLUDED
#define Foundation_ExpireLRUCache_INCLUDED #define Foundation_ExpireLRUCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/StrategyCollection.h" #include "Poco/StrategyCollection.h"
#include "Poco/ExpireStrategy.h" #include "Poco/ExpireStrategy.h"
#include "Poco/LRUStrategy.h" #include "Poco/LRUStrategy.h"
namespace Poco { namespace Poco {
template < template <
class TKey, class TKey,
class TValue class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
> >
class ExpireLRUCache: public AbstractCache<TKey, TValue, StrategyCollection <TKey, TValue> > class ExpireLRUCache: public AbstractCache<TKey, TValue, StrategyCollection <TKey, TValue>, TMutex, TEventMutex>
/// An ExpireLRUCache combines LRU caching and time based expire cac hing. /// An ExpireLRUCache combines LRU caching and time based expire cac hing.
/// It cache entries for a fixed time period (per default 10 minutes ) /// It cache entries for a fixed time period (per default 10 minutes )
/// but also limits the size of the cache (per default: 1024). /// but also limits the size of the cache (per default: 1024).
{ {
public: public:
ExpireLRUCache(long cacheSize = 1024, Timestamp::TimeDiff expire = 6 00000): ExpireLRUCache(long cacheSize = 1024, Timestamp::TimeDiff expire = 6 00000):
AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> >(StrategyCollection<TKey, TValue>()) AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> , TMutex, TEventMutex>(StrategyCollection<TKey, TValue>())
{ {
this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size)); this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size));
this->_strategy.pushBack(new ExpireStrategy<TKey, TValue>(ex pire)); this->_strategy.pushBack(new ExpireStrategy<TKey, TValue>(ex pire));
} }
~ExpireLRUCache() ~ExpireLRUCache()
{ {
} }
private: private:
ExpireLRUCache(const ExpireLRUCache& aCache); ExpireLRUCache(const ExpireLRUCache& aCache);
ExpireLRUCache& operator = (const ExpireLRUCache& aCache); ExpireLRUCache& operator = (const ExpireLRUCache& aCache);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_ExpireLRUCache_INCLUDED
 End of changes. 6 change blocks. 
6 lines changed or deleted 8 lines changed or added


 ExpireStrategy.h   ExpireStrategy.h 
// //
// ExpireStrategy.h // ExpireStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ExpireStrategy.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ExpireStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: ExpireStrategy // Module: ExpireStrategy
// //
// Definition of the ExpireStrategy class. // Definition of the ExpireStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_ExpireStrategy_INCLUDED #ifndef Foundation_ExpireStrategy_INCLUDED
#define Foundation_ExpireStrategy_INCLUDED #define Foundation_ExpireStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/AbstractStrategy.h" #include "Poco/AbstractStrategy.h"
#include "Poco/Bugcheck.h" #include "Poco/Bugcheck.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include <set> #include <set>
#include <map> #include <map>
skipping to change at line 146 skipping to change at line 146
} }
protected: protected:
Timestamp::TimeDiff _expireTime; Timestamp::TimeDiff _expireTime;
Keys _keys; /// For faster replacement of keys, the iterato r points to the _keyIndex map Keys _keys; /// For faster replacement of keys, the iterato r points to the _keyIndex map
TimeIndex _keyIndex; /// Maps time to key value TimeIndex _keyIndex; /// Maps time to key value
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_ExpireStrategy_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 FIFOEvent.h   FIFOEvent.h 
// //
// FIFOEvent.h // FIFOEvent.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FIFOEvent.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/FIFOEvent.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: FIFOEvent // Module: FIFOEvent
// //
// Implementation of the FIFOEvent template. // Implementation of the FIFOEvent template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_FIFOEvent_INCLUDED #ifndef Foundation_FIFOEvent_INCLUDED
#define Foundation_FIFOEvent_INCLUDED #define Foundation_FIFOEvent_INCLUDED
#include "Poco/AbstractEvent.h" #include "Poco/AbstractEvent.h"
#include "Poco/FIFOStrategy.h" #include "Poco/FIFOStrategy.h"
#include "Poco/AbstractDelegate.h" #include "Poco/AbstractDelegate.h"
#include "Poco/CompareFunctions.h" #include "Poco/CompareFunctions.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs, class TMutex = FastMutex>
class FIFOEvent: public AbstractEvent < class FIFOEvent: public AbstractEvent <
TArgs, TArgs,
FIFOStrategy<TArgs, AbstractDelegate<TArgs>, p_less<AbstractDelegate FIFOStrategy<TArgs, AbstractDelegate<TArgs>, p_less<AbstractDelegate
< TArgs> > >, <TArgs> > >,
AbstractDelegate<TArgs> AbstractDelegate<TArgs>,
TMutex
> >
/// A FIFOEvent uses internally a FIFOStrategy which guarantees /// A FIFOEvent uses internally a FIFOStrategy which guarantees
/// that delegates are invoked in the order they were added to /// that delegates are invoked in the order they were added to
/// the event. /// the event.
/// ///
/// Note that one object can only register one method to a FIFOEvent . /// Note that one object can only register one method to a FIFOEvent .
/// Subsequent registrations will overwrite the existing delegate. /// Subsequent registrations will overwrite the existing delegate.
/// For example: /// For example:
/// FIFOEvent<int> tmp; /// FIFOEvent<int> tmp;
/// MyClass myObject; /// MyClass myObject;
skipping to change at line 84 skipping to change at line 85
{ {
} }
private: private:
FIFOEvent(const FIFOEvent& e); FIFOEvent(const FIFOEvent& e);
FIFOEvent& operator = (const FIFOEvent& e); FIFOEvent& operator = (const FIFOEvent& e);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_FIFOEvent_INCLUDED
 End of changes. 5 change blocks. 
7 lines changed or deleted 8 lines changed or added


 FIFOStrategy.h   FIFOStrategy.h 
// //
// FIFOStrategy.h // FIFOStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FIFOStrategy.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/FIFOStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: FIFOStragegy // Module: FIFOStragegy
// //
// Implementation of the FIFOStrategy template. // Implementation of the FIFOStrategy template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_FIFOStrategy_INCLUDED #ifndef Foundation_FIFOStrategy_INCLUDED
#define Foundation_FIFOStrategy_INCLUDED #define Foundation_FIFOStrategy_INCLUDED
#include "Poco/NotificationStrategy.h" #include "Poco/NotificationStrategy.h"
#include <map> #include <map>
#include <list> #include <list>
#include <memory> #include <memory>
namespace Poco { namespace Poco {
template <class TArgs, class TDelegate, class TCompare> template <class TArgs, class TDelegate, class TCompare>
class FIFOStrategy: public NotificationStrategy<TArgs, TDelegate> class FIFOStrategy: public NotificationStrategy<TArgs, TDelegate>
skipping to change at line 161 skipping to change at line 161
return _observers.empty(); return _observers.empty();
} }
protected: protected:
Delegates _observers; /// Stores the delegates in the order they were added. Delegates _observers; /// Stores the delegates in the order they were added.
DelegateIndex _observerIndex; /// For faster lookup when add/remove is used. DelegateIndex _observerIndex; /// For faster lookup when add/remove is used.
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_FIFOStrategy_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 FPEnvironment.h   FPEnvironment.h 
// //
// FPEnvironment.h // FPEnvironment.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definitions of class FPEnvironment. // Definitions of class FPEnvironment.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FPEnvironment_C99.h   FPEnvironment_C99.h 
// //
// FPEnvironment_C99.h // FPEnvironment_C99.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment_C99.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment_C99.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definitions of class FPEnvironmentImpl for C99. // Definitions of class FPEnvironmentImpl for C99.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FPEnvironment_DEC.h   FPEnvironment_DEC.h 
// //
// FPEnvironment_DEC.h // FPEnvironment_DEC.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment_DEC.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment_DEC.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definitions of class FPEnvironmentImpl for Tru64 and OpenVMS Alpha. // Definitions of class FPEnvironmentImpl for Tru64 and OpenVMS Alpha.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FPEnvironment_DUMMY.h   FPEnvironment_DUMMY.h 
// //
// FPEnvironment_DUMMY.h // FPEnvironment_DUMMY.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment_DUMMY.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment_DUMMY.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definition of class FPEnvironmentImpl for platforms that do not // Definition of class FPEnvironmentImpl for platforms that do not
// support IEEE 754 extensions. // support IEEE 754 extensions.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FPEnvironment_SUN.h   FPEnvironment_SUN.h 
// //
// FPEnvironment_SUN.h // FPEnvironment_SUN.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment_SUN.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment_SUN.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definitions of class FPEnvironmentImpl for Solaris. // Definitions of class FPEnvironmentImpl for Solaris.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FPEnvironment_WIN32.h   FPEnvironment_WIN32.h 
// //
// FPEnvironment_WIN32.h // FPEnvironment_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FPEnvironment_WIN32.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FPEnvironment_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: FPEnvironment // Module: FPEnvironment
// //
// Definitions of class FPEnvironmentImpl for WIN32. // Definitions of class FPEnvironmentImpl for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


 FilePartSource.h   FilePartSource.h 
// //
// FilePartSource.h // FilePartSource.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/FilePartSource.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/FilePartSource.h#1 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: FilePartSource // Module: FilePartSource
// //
// Definition of the FilePartSource class. // Definition of the FilePartSource 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 66 skipping to change at line 66
/// The MIME type is set to application/octet-stream. /// The MIME type is set to application/octet-stream.
/// ///
/// Throws an OpenFileException if the file cannot be opened . /// Throws an OpenFileException if the file cannot be opened .
FilePartSource(const std::string& path, const std::string& mediaType ); FilePartSource(const std::string& path, const std::string& mediaType );
/// Creates the FilePartSource for the given /// Creates the FilePartSource for the given
/// path and MIME type. /// path and MIME type.
/// ///
/// Throws an OpenFileException if the file cannot be opened . /// Throws an OpenFileException if the file cannot be opened .
FilePartSource(const std::string& path, const std::string& filename,
const std::string& mediaType);
/// Creates the FilePartSource for the given
/// path and MIME type. The given filename is
/// used as part filename (see filename()) only.
///
/// Throws an OpenFileException if the file cannot be opened
.
~FilePartSource(); ~FilePartSource();
/// Destroys the FilePartSource. /// Destroys the FilePartSource.
std::istream& stream(); std::istream& stream();
/// Returns a file input stream for the given file. /// Returns a file input stream for the given file.
const std::string& filename(); const std::string& filename();
/// Returns the filename portion of the path. /// Returns the filename portion of the path.
private: private:
 End of changes. 2 change blocks. 
1 lines changed or deleted 10 lines changed or added


 FileStream.h   FileStream.h 
// //
// FileStream.h // FileStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FileStream.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/FileStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: FileStream // Module: FileStream
// //
// Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses. // Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 FileStream_POSIX.h   FileStream_POSIX.h 
// //
// FileStream_POSIX.h // FileStream_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FileStream_POSIX.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/FileStream_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: FileStream // Module: FileStream
// //
// Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses. // Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FileStream_WIN32.h   FileStream_WIN32.h 
// //
// FileStream_WIN32.h // FileStream_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FileStream_WIN32.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/FileStream_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: FileStream // Module: FileStream
// //
// Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses. // Definition of the FileStreamBuf, FileInputStream and FileOutputStream cl asses.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 File_UNIX.h   File_UNIX.h 
// //
// File_UNIX.h // File_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/File_UNIX.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/File_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: File // Module: File
// //
// Definition of the FileImpl class for Unix. // Definition of the FileImpl class for Unix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 File_VMS.h   File_VMS.h 
// //
// File_VMS.h // File_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/File_VMS.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/File_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: File // Module: File
// //
// Definition of the FileImpl class for OpenVMS. // Definition of the FileImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 File_WIN32.h   File_WIN32.h 
// //
// File_WIN32.h // File_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/File_WIN32.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/File_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: File // Module: File
// //
// Definition of the FileImpl class for WIN32. // Definition of the FileImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 File_WIN32U.h   File_WIN32U.h 
// //
// File_WIN32U.h // File_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/File_WIN32U.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/File_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: File // Module: File
// //
// Definition of the Unicode FileImpl class for WIN32. // Definition of the Unicode FileImpl class for WIN32.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FilesystemConfiguration.h   FilesystemConfiguration.h 
// //
// FilesystemConfiguration.h // FilesystemConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/FilesystemConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/FilesystemConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: FilesystemConfiguration // Module: FilesystemConfiguration
// //
// Definition of the FilesystemConfiguration class. // Definition of the FilesystemConfiguration 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 99 skipping to change at line 99
/// All directories are created as necessary. /// All directories are created as necessary.
void clear(); void clear();
/// Clears the configuration by erasing the configuration /// Clears the configuration by erasing the configuration
/// directory and all its subdirectories and files. /// directory and all its subdirectories and files.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
Poco::Path keyToPath(const std::string& key) const; Poco::Path keyToPath(const std::string& key) const;
~FilesystemConfiguration(); ~FilesystemConfiguration();
private: private:
Poco::Path _path; Poco::Path _path;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
#endif // Util_FilesystemConfiguration_INCLUDED #endif // Util_FilesystemConfiguration_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 Format.h   Format.h 
// //
// Format.h // Format.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Format.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/Format.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Format // Module: Format
// //
// Definition of the format freestanding function. // Definition of the format freestanding function.
// //
// 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 61 skipping to change at line 61
/// ///
/// The formatting is controlled by the format string in fmt. /// The formatting is controlled by the format string in fmt.
/// Format strings are quite similar to those of the std::printf() f unction, but /// Format strings are quite similar to those of the std::printf() f unction, but
/// there are some minor differences. /// there are some minor differences.
/// ///
/// The format string can consist of any sequence of characters; cer tain /// The format string can consist of any sequence of characters; cer tain
/// characters have a special meaning. Characters without a special meaning /// characters have a special meaning. Characters without a special meaning
/// are copied verbatim to the result. A percent sign (%) marks the beginning /// are copied verbatim to the result. A percent sign (%) marks the beginning
/// of a format specification. Format specifications have the follow ing syntax: /// of a format specification. Format specifications have the follow ing syntax:
/// ///
/// %[<flags>][<width>][.<precision>][<modifier>]<type> /// %[<index>][<flags>][<width>][.<precision>][<modifier>]<type>
/// ///
/// Flags, width, precision and prefix are optional. The only requir ed part of /// Index, flags, width, precision and prefix are optional. The only required part of
/// the format specification, apart from the percent sign, is the ty pe. /// the format specification, apart from the percent sign, is the ty pe.
/// ///
/// The optional index argument has the format "[<n>]" and allows to
/// address an argument by its zero-based position (see the example
below).
///
/// Following are valid type specifications and their meaning: /// Following are valid type specifications and their meaning:
/// ///
/// * b boolean (true = 1, false = 0) /// * b boolean (true = 1, false = 0)
/// * c character /// * c character
/// * d signed decimal integer /// * d signed decimal integer
/// * i signed decimal integer /// * i signed decimal integer
/// * o unsigned octal integer /// * o unsigned octal integer
/// * u unsigned decimal integer /// * u unsigned decimal integer
/// * x unsigned hexadecimal integer (lower case) /// * x unsigned hexadecimal integer (lower case)
/// * X unsigned hexadecimal integer (upper case) /// * X unsigned hexadecimal integer (upper case)
/// * e signed floating-point value in the form [-]d.dddde[<sign>] dd[d] /// * e signed floating-point value in the form [-]d.dddde[<sign>] dd[d]
/// * E signed floating-point value in the form [-]d.ddddE[<sign>] dd[d] /// * E signed floating-point value in the form [-]d.ddddE[<sign>] dd[d]
/// * f signed floating-point value in the form [-]dddd.dddd /// * f signed floating-point value in the form [-]dddd.dddd
/// * s std::string /// * s std::string
/// * z std::size_t /// * z std::size_t
/// ///
/// The following flags are supported: /// The following flags are supported:
/// ///
/// * - left align the result within the given field width /// * - left align the result within the given field width
/// * + prefix the output value with a sign (+ or /// * + prefix the output value with a sign (+ or -) if the output value is of a signed type
/// * 0 if width is prefixed with 0, zeros are added until the min imum width is reached /// * 0 if width is prefixed with 0, zeros are added until the min imum width is reached
/// * # For o, x, X, the # flag prefixes any nonzero output value with 0, 0x, or 0X, respectively; /// * # For o, x, X, the # flag prefixes any nonzero output value with 0, 0x, or 0X, respectively;
/// for e, E, f, the # flag forces the output value to contain a decimal point in all cases. /// for e, E, f, the # flag forces the output value to contain a decimal point in all cases.
/// ///
/// The following modifiers are supported: /// The following modifiers are supported:
/// ///
/// * (none) argument is char (c), int (d, i), unsigned (o, u, x, X) double (e, E, f, g, G) or string (s) /// * (none) argument is char (c), int (d, i), unsigned (o, u, x, X) double (e, E, f, g, G) or string (s)
/// * l argument is long (d, i), unsigned long (o, u, x, X) o r long double (e, E, f, g, G) /// * l argument is long (d, i), unsigned long (o, u, x, X) o r long double (e, E, f, g, G)
/// * L argument is long long (d, i), unsigned long long (o, u, x, X) /// * L argument is long long (d, i), unsigned long long (o, u, x, X)
/// * h argument is short (d, i), unsigned short (o, u, x, X) or float (e, E, f, g, G) /// * h argument is short (d, i), unsigned short (o, u, x, X) or float (e, E, f, g, G)
/// * ? argument is any signed or unsigned int, short, long, or 64-bit integer (d, i, o, x, X) /// * ? argument is any signed or unsigned int, short, long, or 64-bit integer (d, i, o, x, X)
/// ///
/// The width argument is a nonnegative decimal integer controlling the minimum number of characters printed. /// The width argument is a nonnegative decimal integer controlling the minimum number of characters printed.
/// If the number of characters in the output value is less than the specified width, blanks or /// If the number of characters in the output value is less than the specified width, blanks or
/// leading zeros are added, according to the specified flags (-, +, 0). /// leading zeros are added, according to the specified flags (-, +, 0).
/// ///
/// Precision is a nonnegative decimal integer, preceded by a period (.), which specifies the number of characters /// Precision is a nonnegative decimal integer, preceded by a period (.), which specifies the number of characters
/// to be printed, the number of decimal places, or the number of si gnificant digits. /// to be printed, the number of decimal places, or the number of si gnificant digits.
/// ///
/// Throws a BadCastException if an argument does not correspond to the type of its format specification. /// Throws a BadCastException if an argument does not correspond to the type of its format specification.
/// Throws an InvalidArgumentException if an argument index is out o f range.
/// ///
/// If there are more format specifiers than values, the format spec ifiers without a corresponding value /// If there are more format specifiers than values, the format spec ifiers without a corresponding value
/// are copied verbatim to output. /// are copied verbatim to output.
/// ///
/// If there are more values than format specifiers, the superfluous values are ignored. /// If there are more values than format specifiers, the superfluous values are ignored.
/// ///
/// Usage Example: /// Usage Examples:
/// std::string s = format("The answer to life, the universe, an /// std::string s1 = format("The answer to life, the universe, a
d everything is %d", 42); nd everything is %d", 42);
/// std::string s2 = format("second: %[1]d, first: %[0]d", 1, 2)
;
std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2); std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2);
std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3); std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3);
std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4); std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4);
std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4, const Any& value 5); std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4, const Any& value 5);
std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4, const Any& value 5, const Any& value6); std::string Foundation_API format(const std::string& fmt, const Any& value1 , const Any& value2, const Any& value3, const Any& value4, const Any& value 5, const Any& value6);
void Foundation_API format(std::string& result, const std::string& fmt, con st Any& value); void Foundation_API format(std::string& result, const std::string& fmt, con st Any& value);
/// Appends the formatted string to result. /// Appends the formatted string to result.
 End of changes. 7 change blocks. 
7 lines changed or deleted 14 lines changed or added


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


 FormattingChannel.h   FormattingChannel.h 
// //
// FormattingChannel.h // FormattingChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FormattingChannel.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FormattingChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: Formatter // Module: Formatter
// //
// Definition of the FormattingChannel class. // Definition of the FormattingChannel class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Foundation.h   Foundation.h 
// //
// Foundation.h // Foundation.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Foundation.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Foundation.h#1 $
// //
// 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-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of t he // execute, and transmit the Software, and to prepare derivative works of t he
// Software, and to permit third-parties to whom the Software is furnished to // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, includi ng // The copyright notices in the Software and this entire statement, includi ng
skipping to change at line 44 skipping to change at line 44
// 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 Foundation_Foundation_INCLUDED #ifndef Foundation_Foundation_INCLUDED
#define Foundation_Foundation_INCLUDED #define Foundation_Foundation_INCLUDED
// //
// Version Information
//
#define POCO_VERSION 0x01030600
//
// Include library configuration // Include library configuration
// //
#include "Poco/Config.h" #include "Poco/Config.h"
// //
// Ensure that POCO_DLL is default unless POCO_STATIC is defined // Ensure that POCO_DLL is default unless POCO_STATIC is defined
// //
#if defined(_WIN32) && defined(_DLL) #if defined(_WIN32) && defined(_DLL)
#if !defined(POCO_DLL) && !defined(POCO_STATIC) #if !defined(POCO_DLL) && !defined(POCO_STATIC)
#define POCO_DLL #define POCO_DLL
skipping to change at line 70 skipping to change at line 65
#endif #endif
// //
// The following block is the standard way of creating macros which make ex porting // The following block is the standard way of creating macros which make ex porting
// from a DLL simpler. All files within this DLL are compiled with the Foun dation_EXPORTS // from a DLL simpler. All files within this DLL are compiled with the Foun dation_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project // symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files includ e this file see // that uses this DLL. This way any other project whose source files includ e this file see
// Foundation_API functions as being imported from a DLL, wheras this DLL s ees symbols // Foundation_API functions as being imported from a DLL, wheras this DLL s ees symbols
// defined with this macro as being exported. // defined with this macro as being exported.
// //
#if defined(_WIN32) && defined(POCO_DLL) #if (defined(_WIN32) || defined(_WIN32_WCE)) && defined(POCO_DLL)
#if defined(Foundation_EXPORTS) #if defined(Foundation_EXPORTS)
#define Foundation_API __declspec(dllexport) #define Foundation_API __declspec(dllexport)
#else #else
#define Foundation_API __declspec(dllimport) #define Foundation_API __declspec(dllimport)
#endif #endif
#endif #endif
#if !defined(Foundation_API) #if !defined(Foundation_API)
#define Foundation_API #define Foundation_API
#endif #endif
// //
// Automatically link Foundation library. // Automatically link Foundation library.
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Foundation_EXPORTS) #if defined(POCO_DLL)
#if defined(POCO_DLL) #if defined(_DEBUG)
#if defined(_DEBUG) #define POCO_LIB_SUFFIX "d.lib"
#pragma comment(lib, "PocoFoundationd.lib")
#else
#pragma comment(lib, "PocoFoundation.lib")
#endif
#else #else
#if defined(_DEBUG) #define POCO_LIB_SUFFIX ".lib"
#pragma comment(lib, "PocoFoundationmtd.lib" #endif
) #elif defined(_DLL)
#else #if defined(_DEBUG)
#pragma comment(lib, "PocoFoundationmt.lib") #define POCO_LIB_SUFFIX "mdd.lib"
#endif #else
#define POCO_LIB_SUFFIX "md.lib"
#endif #endif
#else
#if defined(_DEBUG)
#define POCO_LIB_SUFFIX "mtd.lib"
#else
#define POCO_LIB_SUFFIX "mt.lib"
#endif
#endif
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Foundation_EXPORTS)
#pragma comment(lib, "PocoFoundation" POCO_LIB_SUFFIX)
#endif #endif
#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)
 End of changes. 7 change blocks. 
21 lines changed or deleted 23 lines changed or added


 FunctionDelegate.h   FunctionDelegate.h 
// //
// FunctionDelegate.h // FunctionDelegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FunctionDelegate.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FunctionDelegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: FunctionDelegate // Module: FunctionDelegate
// //
// Implementation of the FunctionDelegate template. // Implementation of the FunctionDelegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_FunctionDelegate_INCLUDED #ifndef Foundation_FunctionDelegate_INCLUDED
#define Foundation_FunctionDelegate_INCLUDED #define Foundation_FunctionDelegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/AbstractDelegate.h" #include "Poco/AbstractDelegate.h"
namespace Poco { namespace Poco {
template <class TArgs, bool hasSender = true, bool senderIsConst = true> template <class TArgs, bool hasSender = true, bool senderIsConst = true>
class FunctionDelegate: public AbstractDelegate<TArgs> class FunctionDelegate: public AbstractDelegate<TArgs>
/// Wraps a C style function (or a C++ static fucntion) to be used a s /// Wraps a C style function (or a C++ static function) to be used a s
/// a delegate /// a delegate
{ {
public: public:
typedef void (*NotifyMethod)(const void*, TArgs&); typedef void (*NotifyMethod)(const void*, TArgs&);
FunctionDelegate(NotifyMethod method): FunctionDelegate(NotifyMethod method):
AbstractDelegate<TArgs>(*reinterpret_cast<void**>(&method)), AbstractDelegate<TArgs>(*reinterpret_cast<void**>(&method)),
_receiverMethod(method) _receiverMethod(method)
{ {
} }
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 FunctionPriorityDelegate.h   FunctionPriorityDelegate.h 
// //
// FunctionPriorityDelegate.h // FunctionPriorityDelegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/FunctionPriorityDelegate.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/FunctionPriorityDelegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: FunctionPriorityDelegate // Module: FunctionPriorityDelegate
// //
// Implementation of the FunctionPriorityDelegate template. // Implementation of the FunctionPriorityDelegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_FunctionPriorityDelegate_INCLUDED #ifndef Foundation_FunctionPriorityDelegate_INCLUDED
#define Foundation_FunctionPriorityDelegate_INCLUDED #define Foundation_FunctionPriorityDelegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/AbstractPriorityDelegate.h" #include "Poco/AbstractPriorityDelegate.h"
namespace Poco { namespace Poco {
template <class TArgs, bool useSender = true, bool senderIsConst = true> template <class TArgs, bool useSender = true, bool senderIsConst = true>
class FunctionPriorityDelegate: public AbstractPriorityDelegate<TArgs> class FunctionPriorityDelegate: public AbstractPriorityDelegate<TArgs>
/// Wraps a C style function (or a C++ static fucntion) to be used a s /// Wraps a C style function (or a C++ static fucntion) to be used a s
/// a priority delegate /// a priority delegate
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Glob.h   Glob.h 
// //
// Glob.h // Glob.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Glob.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Glob.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Glob // Module: Glob
// //
// Definition of the Glob class. // Definition of the Glob class.
// //
// Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 HMACEngine.h   HMACEngine.h 
// //
// HMACEngine.h // HMACEngine.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/HMACEngine.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/HMACEngine.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Crypt // Package: Crypt
// Module: HMACEngine // Module: HMACEngine
// //
// Definition of the HMACEngine class. // Definition of the HMACEngine class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


 HTTPClientSession.h   HTTPClientSession.h 
// //
// HTTPClientSession.h // HTTPClientSession.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPClientSession.h#5 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPClientSession.h#1 $
// //
// 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 75 skipping to change at line 75
/// be used to send the request body, if there is any. /// be used to send the request body, if there is any.
/// ///
/// After you are done sending the request body, create /// After you are done sending the request body, create
/// a HTTPResponse object and pass it to receiveResponse(). /// a HTTPResponse object and pass it to receiveResponse().
/// ///
/// This will return an input stream that can be used to /// This will return an input stream that can be used to
/// read the response body. /// read the response body.
/// ///
/// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more /// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more
/// information about the HTTP protocol. /// information about the HTTP protocol.
///
/// Proxies and proxy authorization (only HTTP Basic Authorization)
/// is supported. Use setProxy() and setProxyCredentials() to
/// set up a session through a proxy.
{ {
public: public:
HTTPClientSession(); HTTPClientSession();
/// Creates an unconnected HTTPClientSession. /// Creates an unconnected HTTPClientSession.
explicit HTTPClientSession(const StreamSocket& socket); explicit HTTPClientSession(const StreamSocket& socket);
/// Creates a HTTPClientSession using the given socket. /// Creates a HTTPClientSession using the given socket.
/// The socket must not be connected. The session /// The socket must not be connected. The session
/// takes ownership of the socket. /// takes ownership of the socket.
skipping to change at line 128 skipping to change at line 132
void setProxyPort(Poco::UInt16 port); void setProxyPort(Poco::UInt16 port);
/// Sets the port number of the proxy server. /// Sets the port number of the proxy server.
const std::string& getProxyHost() const; const std::string& getProxyHost() const;
/// Returns the proxy host name. /// Returns the proxy host name.
Poco::UInt16 getProxyPort() const; Poco::UInt16 getProxyPort() const;
/// Returns the proxy port number. /// Returns the proxy port number.
void setProxyCredentials(const std::string& username, const std::str
ing& password);
/// Sets the username and password for proxy authentication.
/// Only Basic authentication is supported.
void setProxyUsername(const std::string& username);
/// Sets the username for proxy authentication.
/// Only Basic authentication is supported.
const std::string& getProxyUsername() const;
/// Returns the username for proxy authentication.
void setProxyPassword(const std::string& password);
/// Sets the password for proxy authentication.
/// Only Basic authentication is supported.
const std::string& getProxyPassword() const;
/// Returns the password for proxy authentication.
void setKeepAliveTimeout(const Poco::Timespan& timeout); void setKeepAliveTimeout(const Poco::Timespan& timeout);
/// Sets the connection timeout for HTTP connections. /// Sets the connection timeout for HTTP connections.
const Poco::Timespan& getKeepAliveTimeout() const; const Poco::Timespan& getKeepAliveTimeout() const;
/// Returns the connection timeout for HTTP connections. /// Returns the connection timeout for HTTP connections.
virtual std::ostream& sendRequest(HTTPRequest& request); virtual std::ostream& sendRequest(HTTPRequest& request);
/// Sends the header for the given HTTP request to /// Sends the header for the given HTTP request to
/// the server. /// the server.
/// ///
skipping to change at line 155 skipping to change at line 177
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.
void reset();
/// Resets the session and closes the socket.
///
/// The next request will initiate a new connection,
/// even if persistent connections are enabled.
virtual bool secure() const;
/// Return true iff the session uses SSL or TLS,
/// or false otherwise.
protected: protected:
enum enum
{ {
DEFAULT_KEEP_ALIVE_TIMEOUT = 8 DEFAULT_KEEP_ALIVE_TIMEOUT = 8
}; };
void reconnect(); void reconnect();
/// Connects the underlying socket to the HTTP server. /// Connects the underlying socket to the HTTP server.
int write(const char* buffer, std::streamsize length); int write(const char* buffer, std::streamsize length);
skipping to change at line 198 skipping to change at line 230
void setReconnect(bool recon); void setReconnect(bool recon);
/// Sets _reconnect. /// Sets _reconnect.
void setExpectResponseBody(bool expect); void setExpectResponseBody(bool expect);
/// Sets _expectResponseBody. /// Sets _expectResponseBody.
bool getExpectResponseBody() const; bool getExpectResponseBody() const;
/// Returns _expectResponseBody. /// Returns _expectResponseBody.
bool mustReconnect() const; virtual bool mustReconnect() const;
/// Checks if we can reuse a persistent connection. /// Checks if we can reuse a persistent connection.
virtual void proxyAuthenticate(HTTPRequest& request);
/// Sets the proxy credentials (Proxy-Authorization header),
if
/// proxy username and password have been set.
void proxyAuthenticateImpl(HTTPRequest& request);
/// Sets the proxy credentials (Proxy-Authorization header),
if
/// proxy username and password have been set.
private: private:
std::string _host; std::string _host;
Poco::UInt16 _port; Poco::UInt16 _port;
std::string _proxyHost; std::string _proxyHost;
Poco::UInt16 _proxyPort; Poco::UInt16 _proxyPort;
std::string _proxyUsername;
std::string _proxyPassword;
Poco::Timespan _keepAliveTimeout; Poco::Timespan _keepAliveTimeout;
Poco::Timestamp _lastRequest; Poco::Timestamp _lastRequest;
bool _reconnect; bool _reconnect;
bool _mustReconnect; bool _mustReconnect;
bool _expectResponseBody; bool _expectResponseBody;
std::ostream* _pRequestStream; std::ostream* _pRequestStream;
std::istream* _pResponseStream; std::istream* _pResponseStream;
HTTPClientSession(const HTTPClientSession&); HTTPClientSession(const HTTPClientSession&);
HTTPClientSession& operator = (const HTTPClientSession&); HTTPClientSession& operator = (const HTTPClientSession&);
skipping to change at line 241 skipping to change at line 283
inline const std::string& HTTPClientSession::getProxyHost() const inline const std::string& HTTPClientSession::getProxyHost() const
{ {
return _proxyHost; return _proxyHost;
} }
inline Poco::UInt16 HTTPClientSession::getProxyPort() const inline Poco::UInt16 HTTPClientSession::getProxyPort() const
{ {
return _proxyPort; return _proxyPort;
} }
inline const std::string& HTTPClientSession::getProxyUsername() const
{
return _proxyUsername;
}
inline const std::string& HTTPClientSession::getProxyPassword() const
{
return _proxyPassword;
}
inline std::istream* HTTPClientSession::getResponseStream() const inline std::istream* HTTPClientSession::getResponseStream() const
{ {
return _pResponseStream; return _pResponseStream;
} }
inline std::ostream* HTTPClientSession::getRequestStream() const inline std::ostream* HTTPClientSession::getRequestStream() const
{ {
return _pRequestStream; return _pRequestStream;
} }
 End of changes. 8 change blocks. 
2 lines changed or deleted 57 lines changed or added


 HTTPCookie.h   HTTPCookie.h 
// //
// HTTPCookie.h // HTTPCookie.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPCookie.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPCookie.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTP // Package: HTTP
// Module: HTTPCookie // Module: HTTPCookie
// //
// Definition of the HTTPCookie class. // Definition of the HTTPCookie 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 78 skipping to change at line 78
explicit HTTPCookie(const std::string& name); explicit HTTPCookie(const std::string& name);
/// Creates a cookie with the given name. /// Creates a cookie with the given name.
/// The cookie never expires. /// The cookie never expires.
explicit HTTPCookie(const NameValueCollection& nvc); explicit HTTPCookie(const NameValueCollection& nvc);
/// Creates a cookie from the given NameValueCollection. /// Creates a cookie from the given NameValueCollection.
HTTPCookie(const std::string& name, const std::string& value); HTTPCookie(const std::string& name, const std::string& value);
/// Creates a cookie with the given name and value. /// Creates a cookie with the given name and value.
/// The cookie never expires. /// The cookie never expires.
///
/// Note: If value contains whitespace or non-alphanumeric
/// characters, the value should be escaped by calling escap
e()
/// before passing it to the constructor.
HTTPCookie(const HTTPCookie& cookie); HTTPCookie(const HTTPCookie& cookie);
/// Creates the HTTPCookie by copying another one. /// Creates the HTTPCookie by copying another one.
~HTTPCookie(); ~HTTPCookie();
/// Destroys the HTTPCookie. /// Destroys the HTTPCookie.
HTTPCookie& operator = (const HTTPCookie& cookie); HTTPCookie& operator = (const HTTPCookie& cookie);
/// Assigns a cookie. /// Assigns a cookie.
skipping to change at line 109 skipping to change at line 113
/// Sets the name of the cookie. /// Sets the name of the cookie.
const std::string& getName() const; const std::string& getName() const;
/// Returns the name of the cookie. /// Returns the name of the cookie.
void setValue(const std::string& value); void setValue(const std::string& value);
/// Sets the value of the cookie. /// Sets the value of the cookie.
/// ///
/// According to the cookie specification, the /// According to the cookie specification, the
/// size of the value should not exceed 4 Kbytes. /// size of the value should not exceed 4 Kbytes.
///
/// Note: If value contains whitespace or non-alphanumeric
/// characters, the value should be escaped by calling escap
e()
/// prior to passing it to setName().
const std::string& getValue() const; const std::string& getValue() const;
/// Returns the value of the cookie. /// Returns the value of the cookie.
void setComment(const std::string& comment); void setComment(const std::string& comment);
/// Sets the comment for the cookie. /// Sets the comment for the cookie.
/// ///
/// Comments are only supported for version 1 cookies. /// Comments are only supported for version 1 cookies.
const std::string& getComment() const; const std::string& getComment() const;
skipping to change at line 165 skipping to change at line 173
void setHttpOnly(bool flag = true); void setHttpOnly(bool flag = true);
/// Sets the HttpOnly flag for the cookie. /// Sets the HttpOnly flag for the cookie.
bool getHttpOnly() const; bool getHttpOnly() const;
/// Returns true iff the cookie's HttpOnly flag is set. /// Returns true iff the cookie's HttpOnly flag is set.
std::string toString() const; std::string toString() const;
/// Returns a string representation of the cookie, /// Returns a string representation of the cookie,
/// suitable for use in a Set-Cookie header. /// suitable for use in a Set-Cookie header.
static std::string escape(const std::string& str);
/// Escapes the given string by replacing all
/// non-alphanumeric characters with escape
/// sequences in the form %xx, where xx is the
/// hexadecimal character code.
///
/// The following characters will be replaced
/// with escape sequences:
/// - percent sign %
/// - less-than and greater-than < and >
/// - curly brackets { and }
/// - square brackets [ and ]
/// - parenthesis ( and )
/// - solidus /
/// - vertical line |
/// - reverse solidus (backslash /)
/// - quotation mark "
/// - apostrophe '
/// - circumflex accent ^
/// - grave accent `
/// - comma and semicolon , and ;
/// - whitespace and control characters
static std::string unescape(const std::string& str);
/// Unescapes the given string by replacing all
/// escape sequences in the form %xx with the
/// respective characters.
private: private:
int _version; int _version;
std::string _name; std::string _name;
std::string _value; std::string _value;
std::string _comment; std::string _comment;
std::string _domain; std::string _domain;
std::string _path; std::string _path;
bool _secure; bool _secure;
int _maxAge; int _maxAge;
bool _httpOnly; bool _httpOnly;
 End of changes. 4 change blocks. 
1 lines changed or deleted 39 lines changed or added


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


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


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


 HTTPRequest.h   HTTPRequest.h 
// //
// HTTPRequest.h // HTTPRequest.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPRequest.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPRequest.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTP // Package: HTTP
// Module: HTTPRequest // Module: HTTPRequest
// //
// Definition of the HTTPRequest class. // Definition of the HTTPRequest 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 90 skipping to change at line 90
/// Sets the request URI. /// Sets the request URI.
const std::string& getURI() const; const std::string& getURI() const;
/// Returns the request URI. /// Returns the request URI.
void setHost(const std::string& host); void setHost(const std::string& host);
/// Sets the value of the Host header field. /// Sets the value of the Host header field.
void setHost(const std::string& host, Poco::UInt16 port); void setHost(const std::string& host, Poco::UInt16 port);
/// Sets the value of the Host header field. /// Sets the value of the Host header field.
///
/// If the given port number is a non-standard
/// port number (other than 80 or 443), it is
/// included in the Host header field.
const std::string& getHost() const; const std::string& getHost() const;
/// Returns the value of the Host header field. /// Returns the value of the Host header field.
/// ///
/// Throws a NotFoundException if the request /// Throws a NotFoundException if the request
/// does not have a Host header field. /// does not have a Host header field.
void setCookies(const NameValueCollection& cookies); void setCookies(const NameValueCollection& cookies);
/// Adds a Cookie header with the names and /// Adds a Cookie header with the names and
/// values from cookies. /// values from cookies.
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


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


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


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


 HTTPServer.h   HTTPServer.h 
// //
// HTTPServer.h // HTTPServer.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPServer.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPServer.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPServer // Package: HTTPServer
// Module: HTTPServer // Module: HTTPServer
// //
// Definition of the HTTPServer class. // Definition of the HTTPServer 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 75 skipping to change at line 75
/// Please see the TCPServer class for information about /// Please see the TCPServer class for information about
/// connection and thread handling. /// connection and thread handling.
/// ///
/// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more /// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more
/// information about the HTTP protocol. /// information about the HTTP protocol.
{ {
public: public:
HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, const ServerSock et& socket, HTTPServerParams::Ptr pParams); HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, const ServerSock et& socket, HTTPServerParams::Ptr pParams);
/// Creates the HTTPServer, using the given ServerSocket. /// Creates the HTTPServer, using the given ServerSocket.
/// ///
/// The server takes ownership of the HTTPRequstHandlerFacto /// New threads are taken from the default thread pool.
ry
/// and deletes it when it's no longer needed.
///
/// The server also takes ownership of the HTTPServerParams
object.
///
/// News threads are taken from the default thread pool.
HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, Poco::ThreadPool & threadPool, const ServerSocket& socket, HTTPServerParams::Ptr pParams); HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, Poco::ThreadPool & threadPool, const ServerSocket& socket, HTTPServerParams::Ptr pParams);
/// Creates the HTTPServer, using the given ServerSocket. /// Creates the HTTPServer, using the given ServerSocket.
/// ///
/// The server takes ownership of the HTTPRequstHandlerFacto /// New threads are taken from the given thread pool.
ry
/// and deletes it when it's no longer needed.
///
/// The server also takes ownership of the HTTPServerParams
object.
///
/// News threads are taken from the given thread pool.
~HTTPServer(); ~HTTPServer();
/// Destroys the HTTPServer and its HTTPRequestHandlerFactor y. /// Destroys the HTTPServer and its HTTPRequestHandlerFactor y.
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_HTTPServer_INCLUDED #endif // Net_HTTPServer_INCLUDED
 End of changes. 3 change blocks. 
17 lines changed or deleted 3 lines changed or added


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


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


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


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


 HTTPServerRequestImpl.h   HTTPServerRequestImpl.h 
// //
// HTTPServerRequestImpl.h // HTTPServerRequestImpl.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPServerRequestImpl.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPServerRequestImpl.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPServer // Package: HTTPServer
// Module: HTTPServerRequestImpl // Module: HTTPServerRequestImpl
// //
// Definition of the HTTPServerRequestImpl class. // Definition of the HTTPServerRequestImpl 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 52 skipping to change at line 52
#include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/SocketAddress.h" #include "Poco/Net/SocketAddress.h"
#include "Poco/AutoPtr.h" #include "Poco/AutoPtr.h"
#include <istream> #include <istream>
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class HTTPServerSession; class HTTPServerSession;
class HTTPServerParams; class HTTPServerParams;
class StreamSocket;
class Net_API HTTPServerRequestImpl: public HTTPServerRequest class Net_API HTTPServerRequestImpl: public HTTPServerRequest
/// This subclass of HTTPServerRequest is used for /// This subclass of HTTPServerRequest is used for
/// representing server-side HTTP requests. /// representing server-side HTTP requests.
/// ///
/// A HTTPServerRequest is passed to the /// A HTTPServerRequest is passed to the
/// handleRequest() method of HTTPRequestHandler. /// handleRequest() method of HTTPRequestHandler.
{ {
public: public:
HTTPServerRequestImpl(HTTPServerResponse& response, HTTPServerSessio n& session, HTTPServerParams* pParams); HTTPServerRequestImpl(HTTPServerResponse& response, HTTPServerSessio n& session, HTTPServerParams* pParams);
skipping to change at line 91 skipping to change at line 92
const SocketAddress& serverAddress() const; const SocketAddress& serverAddress() const;
/// Returns the server's address. /// Returns the server's address.
const HTTPServerParams& serverParams() const; const HTTPServerParams& serverParams() const;
/// Returns a reference to the server parameters. /// Returns a reference to the server parameters.
HTTPServerResponse& response() const; HTTPServerResponse& response() const;
/// Returns a reference to the associated response. /// Returns a reference to the associated response.
StreamSocket& socket();
/// Returns a reference to the underlying socket.
StreamSocket detachSocket();
/// Returns the underlying socket after detaching
/// it from the server session.
protected: protected:
static const std::string EXPECT; static const std::string EXPECT;
private: private:
HTTPServerResponse& _response; HTTPServerResponse& _response;
HTTPServerSession& _session;
std::istream* _pStream; std::istream* _pStream;
Poco::AutoPtr<HTTPServerParams> _pParams; Poco::AutoPtr<HTTPServerParams> _pParams;
SocketAddress _clientAddress; SocketAddress _clientAddress;
SocketAddress _serverAddress; SocketAddress _serverAddress;
}; };
// //
// inlines // inlines
// //
inline std::istream& HTTPServerRequestImpl::stream() inline std::istream& HTTPServerRequestImpl::stream()
 End of changes. 4 change blocks. 
1 lines changed or deleted 10 lines changed or added


 HTTPServerResponse.h   HTTPServerResponse.h 
// //
// HTTPServerResponse.h // HTTPServerResponse.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPServerResponse.h#4 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPServerResponse.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPServer // Package: HTTPServer
// Module: HTTPServerResponse // Module: HTTPServerResponse
// //
// Definition of the HTTPServerResponse class. // Definition of the HTTPServerResponse 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 110 skipping to change at line 110
/// The Content-Length header of the response is set /// The Content-Length header of the response is set
/// to length and chunked transfer encoding is disabled. /// to length and chunked transfer encoding is disabled.
/// ///
/// If both the HTTP message header and body (from the /// If both the HTTP message header and body (from the
/// given buffer) fit into one single network packet, the /// given buffer) fit into one single network packet, the
/// complete response can be sent in one network packet. /// complete response can be sent in one network packet.
/// ///
/// Must not be called after send(), sendFile() /// Must not be called after send(), sendFile()
/// or redirect() has been called. /// or redirect() has been called.
virtual void redirect(const std::string& uri) = 0; virtual void redirect(const std::string& uri, HTTPStatus status = HT
/// Sets the status code to 302 (Found) TP_FOUND) = 0;
/// Sets the status code, which must be one of
/// HTTP_MOVED_PERMANENTLY (301), HTTP_FOUND (302),
/// or HTTP_SEE_OTHER (303),
/// and sets the "Location" header field /// and sets the "Location" header field
/// to the given URI, which according to /// to the given URI, which according to
/// the HTTP specification, must be absolute. /// the HTTP specification, must be absolute.
/// ///
/// Must not be called after send() has been called. /// Must not be called after send() has been called.
virtual void requireAuthentication(const std::string& realm) = 0; virtual void requireAuthentication(const std::string& realm) = 0;
/// Sets the status code to 401 (Unauthorized) /// Sets the status code to 401 (Unauthorized)
/// and sets the "WWW-Authenticate" header field /// and sets the "WWW-Authenticate" header field
/// according to the given realm. /// according to the given realm.
 End of changes. 2 change blocks. 
3 lines changed or deleted 6 lines changed or added


 HTTPServerResponseImpl.h   HTTPServerResponseImpl.h 
// //
// HTTPServerResponseImpl.h // HTTPServerResponseImpl.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPServerResponseImpl.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPServerResponseImpl.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPServer // Package: HTTPServer
// Module: HTTPServerResponseImpl // Module: HTTPServerResponseImpl
// //
// Definition of the HTTPServerResponseImpl class. // Definition of the HTTPServerResponseImpl 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 108 skipping to change at line 108
/// The Content-Length header of the response is set /// The Content-Length header of the response is set
/// to length and chunked transfer encoding is disabled. /// to length and chunked transfer encoding is disabled.
/// ///
/// If both the HTTP message header and body (from the /// If both the HTTP message header and body (from the
/// given buffer) fit into one single network packet, the /// given buffer) fit into one single network packet, the
/// complete response can be sent in one network packet. /// complete response can be sent in one network packet.
/// ///
/// Must not be called after send(), sendFile() /// Must not be called after send(), sendFile()
/// or redirect() has been called. /// or redirect() has been called.
void redirect(const std::string& uri); void redirect(const std::string& uri, HTTPStatus status = HTTP_FOUND
/// Sets the status code to 302 (Found) );
/// Sets the status code, which must be one of
/// HTTP_MOVED_PERMANENTLY (301), HTTP_FOUND (302),
/// or HTTP_SEE_OTHER (303),
/// and sets the "Location" header field /// and sets the "Location" header field
/// to the given URI, which according to /// to the given URI, which according to
/// the HTTP specification, must be absolute. /// the HTTP specification, must be absolute.
/// ///
/// Must not be called after send() has been called. /// Must not be called after send() has been called.
void requireAuthentication(const std::string& realm); void requireAuthentication(const std::string& realm);
/// Sets the status code to 401 (Unauthorized) /// Sets the status code to 401 (Unauthorized)
/// and sets the "WWW-Authenticate" header field /// and sets the "WWW-Authenticate" header field
/// according to the given realm. /// according to the given realm.
 End of changes. 2 change blocks. 
3 lines changed or deleted 6 lines changed or added


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


 HTTPSession.h   HTTPSession.h 
// //
// HTTPSession.h // HTTPSession.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPSession.h#5 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPSession.h#1 $
// //
// 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 45 skipping to change at line 45
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Net_HTTPSession_INCLUDED #ifndef Net_HTTPSession_INCLUDED
#define Net_HTTPSession_INCLUDED #define Net_HTTPSession_INCLUDED
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/Net/StreamSocket.h" #include "Poco/Net/StreamSocket.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include "Poco/Any.h"
#include <ios> #include <ios>
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class Net_API HTTPSession class Net_API HTTPSession
/// HTTPSession implements basic HTTP session management /// HTTPSession implements basic HTTP session management
/// for both HTTP clients and HTTP servers. /// for both HTTP clients and HTTP servers.
/// ///
/// HTTPSession implements buffering for HTTP connections, as well /// HTTPSession implements buffering for HTTP connections, as well
skipping to change at line 91 skipping to change at line 92
/// 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.
void attachSessionData(const Poco::Any& data);
/// Allows to attach an application-specific data
/// item to the session.
///
/// On the server side, this can be used to manage
/// data that must be maintained over the entire
/// lifetime of a persistent connection (that is,
/// multiple requests sent over the same connection).
const Poco::Any& sessionData() const;
/// Returns the data attached with attachSessionData(),
/// or an empty Poco::Any if no user data has been
/// attached.
enum enum
{ {
HTTP_PORT = 80 HTTP_PORT = 80
}; };
StreamSocket detachSocket(); StreamSocket detachSocket();
/// Detaches the socket from the session. /// Detaches the socket from the session.
/// ///
/// The socket is returned, and a new, uninitialized socket is /// The socket is returned, and a new, uninitialized socket is
/// attached to the session. /// attached to the session.
StreamSocket& socket();
/// Returns a reference to the underlying socket.
protected: protected:
HTTPSession(); HTTPSession();
/// Creates a HTTP session using an /// Creates a HTTP session using an
/// unconnected stream socket. /// unconnected stream socket.
HTTPSession(const StreamSocket& socket); HTTPSession(const StreamSocket& socket);
/// Creates a HTTP session using the /// Creates a HTTP session using the
/// given socket. The session takes ownership /// given socket. The session takes ownership
/// of the socket and closes it when it's no /// of the socket and closes it when it's no
/// longer used. /// longer used.
skipping to change at line 149 skipping to change at line 167
virtual int write(const char* buffer, std::streamsize length); virtual int write(const char* buffer, std::streamsize length);
/// Writes data to the socket. /// Writes data to the socket.
int receive(char* buffer, int length); int receive(char* buffer, int length);
/// Reads up to length bytes. /// Reads up to length bytes.
int buffered() const; int buffered() const;
/// Returns the number of bytes in the buffer. /// Returns the number of bytes in the buffer.
StreamSocket& socket();
/// Returns a reference to the underlying socket.
void refill(); void refill();
/// Refills the internal buffer. /// Refills the internal buffer.
virtual void connect(const SocketAddress& address); virtual void connect(const SocketAddress& address);
/// Connects the underlying socket to the given address /// Connects the underlying socket to the given address
/// and sets the socket's receive timeout. /// and sets the socket's receive timeout.
void attachSocket(const StreamSocket& socket); void attachSocket(const StreamSocket& socket);
/// Attaches a socket to the session, replacing the /// Attaches a socket to the session, replacing the
/// previously attached socket. /// previously attached socket.
skipping to change at line 185 skipping to change at line 200
HTTPSession(const HTTPSession&); HTTPSession(const HTTPSession&);
HTTPSession& operator = (const HTTPSession&); HTTPSession& operator = (const HTTPSession&);
StreamSocket _socket; StreamSocket _socket;
char* _pBuffer; char* _pBuffer;
char* _pCurrent; char* _pCurrent;
char* _pEnd; char* _pEnd;
bool _keepAlive; bool _keepAlive;
Poco::Timespan _timeout; Poco::Timespan _timeout;
Poco::Exception* _pException; Poco::Exception* _pException;
Poco::Any _data;
friend class HTTPStreamBuf; friend class HTTPStreamBuf;
friend class HTTPHeaderStreamBuf; friend class HTTPHeaderStreamBuf;
friend class HTTPFixedLengthStreamBuf; friend class HTTPFixedLengthStreamBuf;
friend class HTTPChunkedStreamBuf; friend class HTTPChunkedStreamBuf;
}; };
// //
// inlines // inlines
// //
skipping to change at line 220 skipping to change at line 236
inline const Poco::Exception* HTTPSession::networkException() const inline const Poco::Exception* HTTPSession::networkException() const
{ {
return _pException; return _pException;
} }
inline int HTTPSession::buffered() const inline int HTTPSession::buffered() const
{ {
return static_cast<int>(_pEnd - _pCurrent); return static_cast<int>(_pEnd - _pCurrent);
} }
inline const Poco::Any& HTTPSession::sessionData() const
{
return _data;
}
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_HTTPSession_INCLUDED #endif // Net_HTTPSession_INCLUDED
 End of changes. 7 change blocks. 
4 lines changed or deleted 25 lines changed or added


 HTTPSessionFactory.h   HTTPSessionFactory.h 
// //
// HTTPSessionFactory.h // HTTPSessionFactory.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPSessionFactory.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPSessionFactory.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPClient // Package: HTTPClient
// Module: HTTPSessionFactory // Module: HTTPSessionFactory
// //
// Definition of the HTTPSessionFactory class. // Definition of the HTTPSessionFactory 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 105 skipping to change at line 105
const std::string& proxyHost() const; const std::string& proxyHost() const;
/// Returns the proxy host, if one has been set, or an empty string otherwise. /// Returns the proxy host, if one has been set, or an empty string otherwise.
Poco::UInt16 proxyPort() const; Poco::UInt16 proxyPort() const;
/// Returns the proxy port number, if one has been set, or z ero otherwise. /// Returns the proxy port number, if one has been set, or z ero otherwise.
void setProxy(const std::string& proxyHost, Poco::UInt16 proxyPort); void setProxy(const std::string& proxyHost, Poco::UInt16 proxyPort);
/// Sets the proxy host and port number. /// Sets the proxy host and port number.
void setProxyCredentials(const std::string& username, const std::str
ing& password);
/// Sets the username and password for proxy authorization (
Basic auth only).
const std::string& proxyUsername() const;
/// Returns the username for proxy authorization.
const std::string& proxyPassword() const;
/// Returns the password for proxy authorization.
static HTTPSessionFactory& defaultFactory(); static HTTPSessionFactory& defaultFactory();
/// Returns the default HTTPSessionFactory. /// Returns the default HTTPSessionFactory.
private: private:
struct InstantiatorInfo struct InstantiatorInfo
{ {
HTTPSessionInstantiator* pIn; HTTPSessionInstantiator* pIn;
int cnt; int cnt;
InstantiatorInfo(HTTPSessionInstantiator* pInst); InstantiatorInfo(HTTPSessionInstantiator* pInst);
// no destructor!!! this is by purpose, don't add on e! // no destructor!!! this is by purpose, don't add on e!
}; };
HTTPSessionFactory(const HTTPSessionFactory&); HTTPSessionFactory(const HTTPSessionFactory&);
HTTPSessionFactory& operator = (const HTTPSessionFactory&); HTTPSessionFactory& operator = (const HTTPSessionFactory&);
typedef std::map<std::string, InstantiatorInfo> Instantiators; typedef std::map<std::string, InstantiatorInfo> Instantiators;
Instantiators _instantiators; Instantiators _instantiators;
std::string _proxyHost; std::string _proxyHost;
Poco::UInt16 _proxyPort; Poco::UInt16 _proxyPort;
std::string _proxyUsername;
std::string _proxyPassword;
mutable Poco::FastMutex _mutex; mutable Poco::FastMutex _mutex;
}; };
// //
// inlines // inlines
// //
inline const std::string& HTTPSessionFactory::proxyHost() const inline const std::string& HTTPSessionFactory::proxyHost() const
{ {
return _proxyHost; return _proxyHost;
} }
inline Poco::UInt16 HTTPSessionFactory::proxyPort() const inline Poco::UInt16 HTTPSessionFactory::proxyPort() const
{ {
return _proxyPort; return _proxyPort;
} }
inline const std::string& HTTPSessionFactory::proxyUsername() const
{
return _proxyUsername;
}
inline const std::string& HTTPSessionFactory::proxyPassword() const
{
return _proxyPassword;
}
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_HTTPSessionFactoryMgr_INCLUDED #endif // Net_HTTPSessionFactoryMgr_INCLUDED
 End of changes. 4 change blocks. 
1 lines changed or deleted 24 lines changed or added


 HTTPSessionInstantiator.h   HTTPSessionInstantiator.h 
// //
// HTTPSessionInstantiator.h // HTTPSessionInstantiator.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPSessionInstantiator.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPSessionInstantiator.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTPClient // Package: HTTPClient
// Module: HTTPSessionInstantiator // Module: HTTPSessionInstantiator
// //
// Definition of the HTTPSessionInstantiator class. // Definition of the HTTPSessionInstantiator 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 85 skipping to change at line 85
void setProxy(const std::string& host, Poco::UInt16 port); void setProxy(const std::string& host, Poco::UInt16 port);
/// Sets the proxy host and port. /// Sets the proxy host and port.
/// Called by HTTPSessionFactory. /// Called by HTTPSessionFactory.
const std::string& proxyHost() const; const std::string& proxyHost() const;
/// Returns the proxy post. /// Returns the proxy post.
Poco::UInt16 proxyPort() const; Poco::UInt16 proxyPort() const;
/// Returns the proxy port. /// Returns the proxy port.
void setProxyCredentials(const std::string& username, const std::str
ing& password);
/// Sets the username and password for proxy authorization (
Basic auth only).
const std::string& proxyUsername() const;
/// Returns the username for proxy authorization.
const std::string& proxyPassword() const;
/// Returns the password for proxy authorization.
private: private:
std::string _proxyHost; std::string _proxyHost;
Poco::UInt16 _proxyPort; Poco::UInt16 _proxyPort;
std::string _proxyUsername;
std::string _proxyPassword;
friend class HTTPSessionFactory; friend class HTTPSessionFactory;
}; };
// //
// inlines // inlines
// //
inline const std::string& HTTPSessionInstantiator::proxyHost() const inline const std::string& HTTPSessionInstantiator::proxyHost() const
{ {
return _proxyHost; return _proxyHost;
} }
inline Poco::UInt16 HTTPSessionInstantiator::proxyPort() const inline Poco::UInt16 HTTPSessionInstantiator::proxyPort() const
{ {
return _proxyPort; return _proxyPort;
} }
inline const std::string& HTTPSessionInstantiator::proxyUsername() const
{
return _proxyUsername;
}
inline const std::string& HTTPSessionInstantiator::proxyPassword() const
{
return _proxyPassword;
}
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_HTTPSessionInstantiator_INCLUDED #endif // Net_HTTPSessionInstantiator_INCLUDED
 End of changes. 4 change blocks. 
1 lines changed or deleted 24 lines changed or added


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


 HTTPStreamFactory.h   HTTPStreamFactory.h 
// //
// HTTPStreamFactory.h // HTTPStreamFactory.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/HTTPStreamFactory.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/HTTPStreamFactory.h#1 $
// //
// Library: Net // Library: Net
// Package: HTTP // Package: HTTP
// Module: HTTPStreamFactory // Module: HTTPStreamFactory
// //
// Definition of the HTTPStreamFactory class. // Definition of the HTTPStreamFactory 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 61 skipping to change at line 61
{ {
public: public:
HTTPStreamFactory(); HTTPStreamFactory();
/// Creates the HTTPStreamFactory. /// Creates the HTTPStreamFactory.
HTTPStreamFactory(const std::string& proxyHost, Poco::UInt16 proxyPo rt = HTTPSession::HTTP_PORT); HTTPStreamFactory(const std::string& proxyHost, Poco::UInt16 proxyPo rt = HTTPSession::HTTP_PORT);
/// Creates the HTTPStreamFactory. /// Creates the HTTPStreamFactory.
/// ///
/// HTTP connections will use the given proxy. /// HTTP connections will use the given proxy.
HTTPStreamFactory(const std::string& proxyHost, Poco::UInt16 proxyPo
rt, const std::string& proxyUsername, const std::string& proxyPassword);
/// Creates the HTTPStreamFactory.
///
/// HTTP connections will use the given proxy and
/// will be authorized against the proxy using Basic authent
ication
/// with the given proxyUsername and proxyPassword.
virtual ~HTTPStreamFactory(); virtual ~HTTPStreamFactory();
/// Destroys the HTTPStreamFactory. /// Destroys the HTTPStreamFactory.
virtual std::istream* open(const Poco::URI& uri); virtual std::istream* open(const Poco::URI& uri);
/// Creates and opens a HTTP stream for the given URI. /// Creates and opens a HTTP stream for the given URI.
/// The URI must be a http://... URI. /// The URI must be a http://... URI.
/// ///
/// Throws a NetException if anything goes wrong. /// Throws a NetException if anything goes wrong.
/// ///
/// Redirect responses are handled and the redirect /// Redirect responses are handled and the redirect
skipping to change at line 95 skipping to change at line 102
/// default URIStreamOpener instance. /// default URIStreamOpener instance.
private: private:
enum enum
{ {
MAX_REDIRECTS = 10 MAX_REDIRECTS = 10
}; };
std::string _proxyHost; std::string _proxyHost;
Poco::UInt16 _proxyPort; Poco::UInt16 _proxyPort;
std::string _proxyUsername;
std::string _proxyPassword;
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_HTTPStreamFactory_INCLUDED #endif // Net_HTTPStreamFactory_INCLUDED
 End of changes. 3 change blocks. 
1 lines changed or deleted 12 lines changed or added


 Hash.h   Hash.h 
// //
// Hash.h // Hash.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Hash.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Hash.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Hashing // Package: Hashing
// Module: Hash // Module: Hash
// //
// Definition of the Hash class. // Definition of the Hash class.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 HashFunction.h   HashFunction.h 
// //
// HashFunction.h // HashFunction.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/HashFunction.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/HashFunction.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Hashing // Package: Hashing
// Module: HashFunction // Module: HashFunction
// //
// Definition of the HashFunction class. // Definition of the HashFunction class.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


 HashTable.h   HashTable.h 
// //
// HashTable.h // HashTable.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/HashTable.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/HashTable.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Hashing // Package: Hashing
// Module: HashTable // Module: HashTable
// //
// Definition of the HashTable class. // Definition of the HashTable class.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 HexBinaryDecoder.h   HexBinaryDecoder.h 
// //
// HexBinaryDecoder.h // HexBinaryDecoder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/HexBinaryDecoder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/HexBinaryDecoder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 HexBinaryEncoder.h   HexBinaryEncoder.h 
// //
// HexBinaryEncoder.h // HexBinaryEncoder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/HexBinaryEncoder.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/HexBinaryEncoder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


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


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


 ICMPSocketImpl.h   ICMPSocketImpl.h 
// //
// ICMPSocketImpl.h // ICMPSocketImpl.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/ICMPSocketImpl.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/ICMPSocketImpl.h#1 $
// //
// Library: Net // Library: Net
// Package: ICMP // Package: ICMP
// Module: ICMPSocketImpl // Module: ICMPSocketImpl
// //
// Definition of the ICMPSocketImpl class. // Definition of the ICMPSocketImpl 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 74 skipping to change at line 74
/// Receives data from the socket. /// Receives data from the socket.
/// Stores the address of the sender in address. /// Stores the address of the sender in address.
/// ///
/// Returns the time elapsed since the originating request w as sent. /// Returns the time elapsed since the originating request w as sent.
protected: protected:
~ICMPSocketImpl(); ~ICMPSocketImpl();
private: private:
ICMPPacket _icmpPacket; ICMPPacket _icmpPacket;
int _timeout;
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_ICMPSocketImpl_INCLUDED #endif // Net_ICMPSocketImpl_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


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


 IPAddress.h   IPAddress.h 
// //
// IPAddress.h // IPAddress.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/IPAddress.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/IPAddress.h#1 $
// //
// Library: Net // Library: Net
// Package: NetCore // Package: NetCore
// Module: IPAddress // Module: IPAddress
// //
// Definition of the IPAddress class. // Definition of the IPAddress 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 320 skipping to change at line 320
static bool tryParse(const std::string& addr, IPAddress& result); static bool tryParse(const std::string& addr, IPAddress& result);
/// Tries to interpret the given address string as an /// Tries to interpret the given address string as an
/// IP address in presentation format (dotted decimal /// IP address in presentation format (dotted decimal
/// for IPv4, hex string for IPv6). /// for IPv4, hex string for IPv6).
/// ///
/// Returns true and stores the IPAddress in result if the /// Returns true and stores the IPAddress in result if the
/// string contains a valid address. /// string contains a valid address.
/// ///
/// Returns false and leaves result unchanged otherwise. /// Returns false and leaves result unchanged otherwise.
static IPAddress wildcard(Family family = IPv4);
/// Returns a wildcard IPv4 or IPv6 address (0.0.0.0).
static IPAddress broadcast();
/// Returns a broadcast IPv4 address (255.255.255.255).
enum enum
{ {
MAX_ADDRESS_LENGTH = MAX_ADDRESS_LENGTH =
#if defined(POCO_HAVE_IPv6) #if defined(POCO_HAVE_IPv6)
sizeof(struct in6_addr) sizeof(struct in6_addr)
#else #else
sizeof(struct in_addr) sizeof(struct in_addr)
#endif #endif
/// Maximum length in bytes of a socket address. /// Maximum length in bytes of a socket address.
}; };
skipping to change at line 341 skipping to change at line 347
protected: protected:
void init(IPAddressImpl* pImpl); void init(IPAddressImpl* pImpl);
private: private:
IPAddressImpl* _pImpl; IPAddressImpl* _pImpl;
}; };
// //
// inlines // inlines
// //
inline void swap(IPAddress& a1, IPAddress& a2) inline void swap(IPAddress& addr1, IPAddress& addr2)
{ {
a1.swap(a2); addr1.swap(addr2);
} }
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_IPAddress_INCLUDED #endif // Net_IPAddress_INCLUDED
 End of changes. 4 change blocks. 
3 lines changed or deleted 9 lines changed or added


 InflatingStream.h   InflatingStream.h 
// //
// InflatingStream.h // InflatingStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/InflatingStream.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/InflatingStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: ZLibStream // Module: ZLibStream
// //
// Definition of the InflatingInputStream and InflatingOutputStream classes . // Definition of the InflatingInputStream and InflatingOutputStream classes .
// //
// 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_InflatingStream_INCLUDED #ifndef Foundation_InflatingStream_INCLUDED
#define Foundation_InflatingStream_INCLUDED #define Foundation_InflatingStream_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/BufferedStreamBuf.h" #include "Poco/BufferedStreamBuf.h"
#include <istream> #include <istream>
#include <ostream> #include <ostream>
#if defined(POCO_UNBUNDLED)
#include <zlib.h>
#else
#include "Poco/zlib.h" #include "Poco/zlib.h"
#endif
namespace Poco { namespace Poco {
class Foundation_API InflatingStreamBuf: public BufferedStreamBuf class Foundation_API InflatingStreamBuf: public BufferedStreamBuf
/// This is the streambuf class used by InflatingInputStream and Inf latingOutputStream. /// This is the streambuf class used by InflatingInputStream and Inf latingOutputStream.
/// The actual work is delegated to zlib 1.2.1 (see http://www.gzip. org). /// The actual work is delegated to zlib (see http://zlib.net).
/// Both zlib (deflate) streams and gzip streams are supported. /// Both zlib (deflate) streams and gzip streams are supported.
/// Output streams should always call close() to ensure /// Output streams should always call close() to ensure
/// proper completion of decompression. /// proper completion of decompression.
{ {
public: public:
enum StreamType enum StreamType
{ {
STREAM_ZLIB, STREAM_ZLIB, /// Expect a zlib header, use Adler-32 checksum
STREAM_GZIP, .
STREAM_ZIP // ZIP is handled as STREAM_ZLIB, except that we STREAM_GZIP, /// Expect a gzip header, use CRC-32 checksum.
do not check the ADLER32 value (must be checked by an outside class!) STREAM_ZIP /// STREAM_ZIP is handled as STREAM_ZLIB, excep
t that we do not check the ADLER32 value (must be checked by caller)
}; };
InflatingStreamBuf(std::istream& istr, StreamType type); InflatingStreamBuf(std::istream& istr, StreamType type);
/// Creates an InflatingStreamBuf for expanding the compress
ed data read from
/// the give input stream.
InflatingStreamBuf(std::istream& istr, int windowBits);
/// Creates an InflatingStreamBuf for expanding the compress
ed data read from
/// the given input stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
InflatingStreamBuf(std::ostream& ostr, StreamType type); InflatingStreamBuf(std::ostream& ostr, StreamType type);
/// Creates an InflatingStreamBuf for expanding the compress
ed data passed through
/// and forwarding it to the given output stream.
InflatingStreamBuf(std::ostream& ostr, int windowBits);
/// Creates an InflatingStreamBuf for expanding the compress
ed data passed through
/// and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
~InflatingStreamBuf(); ~InflatingStreamBuf();
/// Destroys the InflatingStreamBuf.
int close(); int close();
/// Finishes up the stream.
///
/// Must be called when inflating to an output stream.
void reset(); void reset();
/// Resets the stream buffer.
protected: protected:
int readFromDevice(char* buffer, std::streamsize length); int readFromDevice(char* buffer, std::streamsize length);
int writeToDevice(const char* buffer, std::streamsize length); int writeToDevice(const char* buffer, std::streamsize length);
private: private:
enum enum
{ {
STREAM_BUFFER_SIZE = 1024, STREAM_BUFFER_SIZE = 1024,
INFLATE_BUFFER_SIZE = 32768 INFLATE_BUFFER_SIZE = 32768
skipping to change at line 97 skipping to change at line 128
}; };
class Foundation_API InflatingIOS: public virtual std::ios class Foundation_API InflatingIOS: public virtual std::ios
/// The base class for InflatingOutputStream and InflatingInputStrea m. /// The base class for InflatingOutputStream and InflatingInputStrea m.
/// ///
/// 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:
InflatingIOS(std::ostream& ostr, InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB); InflatingIOS(std::ostream& ostr, InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB);
/// Creates an InflatingIOS for expanding the compressed dat
a passed through
/// and forwarding it to the given output stream.
InflatingIOS(std::ostream& ostr, int windowBits);
/// Creates an InflatingIOS for expanding the compressed dat
a passed through
/// and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
InflatingIOS(std::istream& istr, InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB); InflatingIOS(std::istream& istr, InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB);
/// Creates an InflatingIOS for expanding the compressed dat
a read from
/// the given input stream.
InflatingIOS(std::istream& istr, int windowBits);
/// Creates an InflatingIOS for expanding the compressed dat
a read from
/// the given input stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
~InflatingIOS(); ~InflatingIOS();
/// Destroys the InflatingIOS.
InflatingStreamBuf* rdbuf(); InflatingStreamBuf* rdbuf();
/// Returns a pointer to the underlying stream buffer.
protected: protected:
InflatingStreamBuf _buf; InflatingStreamBuf _buf;
}; };
class Foundation_API InflatingOutputStream: public InflatingIOS, public std ::ostream class Foundation_API InflatingOutputStream: public InflatingIOS, public std ::ostream
/// This stream decompresses all data passing through it /// This stream decompresses all data passing through it
/// using zlib's inflate algorithm. /// using zlib's inflate algorithm.
/// ///
/// After all data has been written to the stream, close() /// After all data has been written to the stream, close()
/// must be called to ensure completion of decompression. /// must be called to ensure completion of decompression.
{ {
public: public:
InflatingOutputStream(std::ostream& ostr, InflatingStreamBuf::Stream Type type = InflatingStreamBuf::STREAM_ZLIB); InflatingOutputStream(std::ostream& ostr, InflatingStreamBuf::Stream Type type = InflatingStreamBuf::STREAM_ZLIB);
/// Creates an InflatingOutputStream for expanding the compr
essed data passed through
/// and forwarding it to the given output stream.
InflatingOutputStream(std::ostream& ostr, int windowBits);
/// Creates an InflatingOutputStream for expanding the compr
essed data passed through
/// and forwarding it to the given output stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
~InflatingOutputStream(); ~InflatingOutputStream();
/// Destroys the InflatingOutputStream.
int close(); int close();
/// Finishes up the stream.
///
/// Must be called to ensure all data is properly written to
/// the target output stream.
}; };
class Foundation_API InflatingInputStream: public InflatingIOS, public std: :istream class Foundation_API InflatingInputStream: public InflatingIOS, public std: :istream
/// This stream decompresses all data passing through it /// This stream decompresses all data passing through it
/// using zlib's inflate algorithm. /// using zlib's inflate algorithm.
/// Example: /// Example:
/// std::ifstream istr("data.gz", std::ios::binary); /// std::ifstream istr("data.gz", std::ios::binary);
/// InflatingInputStream inflater(istr, InflatingStreamBuf::STRE AM_GZIP); /// InflatingInputStream inflater(istr, InflatingStreamBuf::STRE AM_GZIP);
/// std::string data; /// std::string data;
/// istr >> data; /// istr >> data;
/// ///
/// The underlying input stream can contain more than one gzip/defla te stream. /// The underlying input stream can contain more than one gzip/defla te stream.
/// After a gzip/deflate stream has been processed, reset() can be c alled /// After a gzip/deflate stream has been processed, reset() can be c alled
/// to inflate the next stream. /// to inflate the next stream.
{ {
public: public:
InflatingInputStream(std::istream& istr, InflatingStreamBuf::StreamT ype type = InflatingStreamBuf::STREAM_ZLIB); InflatingInputStream(std::istream& istr, InflatingStreamBuf::StreamT ype type = InflatingStreamBuf::STREAM_ZLIB);
/// Creates an InflatingInputStream for expanding the compre
ssed data read from
/// the given input stream.
InflatingInputStream(std::istream& istr, int windowBits);
/// Creates an InflatingInputStream for expanding the compre
ssed data read from
/// the given input stream.
///
/// Please refer to the zlib documentation of inflateInit2()
for a description
/// of the windowBits parameter.
~InflatingInputStream(); ~InflatingInputStream();
/// Destroys the InflatingInputStream.
void reset(); void reset();
/// Resets the zlib machinery so that another zlib stream ca
n be read from
/// the same underlying input stream.
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_InflatingStream_INCLUDED #endif // Foundation_InflatingStream_INCLUDED
 End of changes. 20 change blocks. 
6 lines changed or deleted 110 lines changed or added


 IniFileConfiguration.h   IniFileConfiguration.h 
// //
// IniFileConfiguration.h // IniFileConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/IniFileConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/IniFileConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: IniFileConfiguration // Module: IniFileConfiguration
// //
// Definition of the IniFileConfiguration class. // Definition of the IniFileConfiguration 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 64 skipping to change at line 64
/// - a line starting with a semicolon is treated as a comment and ignored /// - a line starting with a semicolon is treated as a comment and ignored
/// - a line starting with a square bracket denotes a section key [<key>] /// - a line starting with a square bracket denotes a section key [<key>]
/// - every other line denotes a property assignment in the form /// - every other line denotes a property assignment in the form
/// <value key> = <value> /// <value key> = <value>
/// ///
/// The name of a property is composed of the section key and the va lue key, /// The name of a property is composed of the section key and the va lue key,
/// separated by a period (<section key>.<value key>). /// separated by a period (<section key>.<value key>).
/// ///
/// Property names are not case sensitive. Leading and trailing whit espace is /// Property names are not case sensitive. Leading and trailing whit espace is
/// removed from both keys and values. /// removed from both keys and values.
///
/// Setting properties is not supported. An attempt to set a propert
y results
/// in a NotImplementedException being thrown.
{ {
public: public:
IniFileConfiguration(); IniFileConfiguration();
/// Creates an empty IniFileConfiguration. /// Creates an empty IniFileConfiguration.
IniFileConfiguration(std::istream& istr); IniFileConfiguration(std::istream& istr);
/// Creates an IniFileConfiguration and loads the configurat ion data /// Creates an IniFileConfiguration and loads the configurat ion data
/// from the given stream, which must be in initialization f ile format. /// from the given stream, which must be in initialization f ile format.
IniFileConfiguration(const std::string& path); IniFileConfiguration(const std::string& path);
skipping to change at line 92 skipping to change at line 89
/// must be in initialization file format. /// must be in initialization file format.
void load(const std::string& path); void load(const std::string& path);
/// Loads the configuration data from the given file, which /// Loads the configuration data from the given file, which
/// must be in initialization file format. /// must be in initialization file format.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
~IniFileConfiguration(); ~IniFileConfiguration();
private: private:
void parseLine(std::istream& istr); void parseLine(std::istream& istr);
struct ICompare struct ICompare
{ {
bool operator () (const std::string& s1, const std::string& s2) const; bool operator () (const std::string& s1, const std::string& s2) const;
}; };
typedef std::map<std::string, std::string, ICompare> IStringMap; typedef std::map<std::string, std::string, ICompare> IStringMap;
 End of changes. 3 change blocks. 
5 lines changed or deleted 2 lines changed or added


 InputSource.h   InputSource.h 
// //
// InputSource.h // InputSource.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/InputSource.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/InputSource.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX InputSource - A single input source for an XML entity. // SAX InputSource - A single input source for an XML entity.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 KeyValueArgs.h   KeyValueArgs.h 
// //
// KeyValueArgs.h // KeyValueArgs.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/KeyValueArgs.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/KeyValueArgs.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: KeyValueArgs // Module: KeyValueArgs
// //
// Definition of the KeyValueArgs class. // Definition of the KeyValueArgs 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_KeyValueArgs_INCLUDED #ifndef Foundation_KeyValueArgs_INCLUDED
#define Foundation_KeyValueArgs_INCLUDED #define Foundation_KeyValueArgs_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <class TKey, class TValue>
class KeyValueArgs class KeyValueArgs
/// Simply event arguments class to transfer a key and a value via a n event call. /// Simply event arguments class to transfer a key and a value via a n event call.
/// Note that key and value are *NOT* copied, only references to the m are stored. /// Note that key and value are *NOT* copied, only references to the m are stored.
{ {
skipping to change at line 89 skipping to change at line 89
protected: protected:
const TKey& _key; const TKey& _key;
const TValue& _value; const TValue& _value;
private: private:
KeyValueArgs& operator = (const KeyValueArgs& args); KeyValueArgs& operator = (const KeyValueArgs& args);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_KeyValueArgs_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 LRUCache.h   LRUCache.h 
// //
// LRUCache.h // LRUCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LRUCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/LRUCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: LRUCache // Module: LRUCache
// //
// Definition of the LRUCache class. // Definition of the LRUCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_LRUCache_INCLUDED #ifndef Foundation_LRUCache_INCLUDED
#define Foundation_LRUCache_INCLUDED #define Foundation_LRUCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/LRUStrategy.h" #include "Poco/LRUStrategy.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <
class LRUCache: public AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue class TKey,
> > class TValue,
/// An LRUCache implements Least Recently Used caching. The default class TMutex = FastMutex,
size for a cache is 1024 entries class TEventMutex = FastMutex
>
class LRUCache: public AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue
>, TMutex, TEventMutex>
/// An LRUCache implements Least Recently Used caching. The default
size for a cache is 1024 entries.
{ {
public: public:
LRUCache(long size = 1024): LRUCache(long size = 1024):
AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue> >(LRUS trategy<TKey, TValue>(size)) AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue>, TMute x, TEventMutex>(LRUStrategy<TKey, TValue>(size))
{ {
} }
~LRUCache() ~LRUCache()
{ {
} }
private: private:
LRUCache(const LRUCache& aCache); LRUCache(const LRUCache& aCache);
LRUCache& operator = (const LRUCache& aCache); LRUCache& operator = (const LRUCache& aCache);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_LRUCache_INCLUDED
 End of changes. 5 change blocks. 
9 lines changed or deleted 14 lines changed or added


 LRUStrategy.h   LRUStrategy.h 
// //
// LRUStrategy.h // LRUStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LRUStrategy.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/LRUStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: LRUStrategy // Module: LRUStrategy
// //
// Definition of the LRUStrategy class. // Definition of the LRUStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_LRUStrategy_INCLUDED #ifndef Foundation_LRUStrategy_INCLUDED
#define Foundation_LRUStrategy_INCLUDED #define Foundation_LRUStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/AbstractStrategy.h" #include "Poco/AbstractStrategy.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include <list> #include <list>
#include <map> #include <map>
#include <cstddef> #include <cstddef>
skipping to change at line 156 skipping to change at line 156
} }
protected: protected:
std::size_t _size; /// Number of keys the cache can store. std::size_t _size; /// Number of keys the cache can store.
Keys _keys; Keys _keys;
KeyIndex _keyIndex; /// For faster access to _keys KeyIndex _keyIndex; /// For faster access to _keys
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_LRUStrategy_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Latin1Encoding.h   Latin1Encoding.h 
// //
// Latin1Encoding.h // Latin1Encoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Latin1Encoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Latin1Encoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: Latin1Encoding // Module: Latin1Encoding
// //
// Definition of the Latin1Encoding class. // Definition of the Latin1Encoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Latin9Encoding.h   Latin9Encoding.h 
// //
// Latin9Encoding.h // Latin9Encoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Latin9Encoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Latin9Encoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: Latin9Encoding // Module: Latin9Encoding
// //
// Definition of the Latin9Encoding class. // Definition of the Latin9Encoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 LayeredConfiguration.h   LayeredConfiguration.h 
// //
// LayeredConfiguration.h // LayeredConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/LayeredConfiguration.h#2 $ // $Id: //poco/1.4/Util/include/Poco/Util/LayeredConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: LayeredConfiguration // Module: LayeredConfiguration
// //
// Definition of the LayeredConfiguration class. // Definition of the LayeredConfiguration 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 126 skipping to change at line 126
/// The LayeredConfiguration does not take ownership of the given /// The LayeredConfiguration does not take ownership of the given
/// configuration. In other words, the configuration's refer ence /// configuration. In other words, the configuration's refer ence
/// count is incremented. /// count is incremented.
//@ deprecated //@ deprecated
void addFront(AbstractConfiguration* pConfig, bool shared); void addFront(AbstractConfiguration* pConfig, bool shared);
/// Adds a read-only configuration to the front of the Layer edConfiguration. /// Adds a read-only configuration to the front of the Layer edConfiguration.
/// If shared is true, the LayeredConfiguration takes owners hip /// If shared is true, the LayeredConfiguration takes owners hip
/// of the given configuration. /// of the given configuration.
void removeConfiguration(AbstractConfiguration* pConfig);
/// Removes the given configuration from the LayeredConfigur
ation.
///
/// Does nothing if the given configuration is not part of t
he
/// LayeredConfiguration.
protected: protected:
typedef Poco::AutoPtr<AbstractConfiguration> ConfigPtr; typedef Poco::AutoPtr<AbstractConfiguration> ConfigPtr;
struct ConfigItem struct ConfigItem
{ {
ConfigPtr pConfig; ConfigPtr pConfig;
int priority; int priority;
bool writeable; bool writeable;
}; };
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
int lowest() const; int lowest() const;
int highest() const; int highest() const;
void insert(const ConfigItem& item); void insert(const ConfigItem& item);
~LayeredConfiguration(); ~LayeredConfiguration();
private: private:
LayeredConfiguration(const LayeredConfiguration&); LayeredConfiguration(const LayeredConfiguration&);
LayeredConfiguration& operator = (const LayeredConfiguration&); LayeredConfiguration& operator = (const LayeredConfiguration&);
 End of changes. 3 change blocks. 
1 lines changed or deleted 10 lines changed or added


 LexicalHandler.h   LexicalHandler.h 
// //
// LexicalHandler.h // LexicalHandler.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/LexicalHandler.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/LexicalHandler.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX2-ext LexicalHandler Interface. // SAX2-ext LexicalHandler Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 LinearHashTable.h   LinearHashTable.h 
// //
// LinearHashTable.h // LinearHashTable.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LinearHashTable.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/LinearHashTable.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Hashing // Package: Hashing
// Module: LinearHashTable // Module: LinearHashTable
// //
// Definition of the LinearHashTable class. // Definition of the LinearHashTable 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 363 skipping to change at line 363
std::pair<Iterator, bool> insert(const Value& value) std::pair<Iterator, bool> insert(const Value& value)
/// Inserts an element into the table. /// Inserts an element into the table.
/// ///
/// If the element already exists in the table, /// If the element already exists in the table,
/// a pair(iterator, false) with iterator pointing to the /// a pair(iterator, false) with iterator pointing to the
/// existing element is returned. /// existing element is returned.
/// Otherwise, the element is inserted an a /// Otherwise, the element is inserted an a
/// pair(iterator, true) with iterator /// pair(iterator, true) with iterator
/// pointing to the new element is returned. /// pointing to the new element is returned.
{ {
split(); std::size_t hash = _hash(value);
std::size_t addr = bucketAddress(value); std::size_t addr = bucketAddressForHash(hash);
BucketVecIterator it(_buckets.begin() + addr); BucketVecIterator it(_buckets.begin() + addr);
BucketIterator buckIt(std::find(it->begin(), it->end(), valu e)); BucketIterator buckIt(std::find(it->begin(), it->end(), valu e));
if (buckIt == it->end()) if (buckIt == it->end())
{ {
buckIt = it->insert(buckIt, value); split();
addr = bucketAddressForHash(hash);
it = _buckets.begin() + addr;
buckIt = it->insert(it->end(), value);
++_size; ++_size;
return std::make_pair(Iterator(it, _buckets.end(), b uckIt), true); return std::make_pair(Iterator(it, _buckets.end(), b uckIt), true);
} }
else else
{ {
return std::make_pair(Iterator(it, _buckets.end(), b uckIt), false); return std::make_pair(Iterator(it, _buckets.end(), b uckIt), false);
} }
} }
void erase(Iterator it) void erase(Iterator it)
skipping to change at line 416 skipping to change at line 419
{ {
return _size; return _size;
} }
bool empty() const bool empty() const
/// Returns true iff the table is empty. /// Returns true iff the table is empty.
{ {
return _size == 0; return _size == 0;
} }
std::size_t buckets() const
/// Returns the number of allocated buckets.
{
return _buckets.size();
}
protected: protected:
std::size_t bucketAddress(const Value& value) const std::size_t bucketAddress(const Value& value) const
{ {
std::size_t n = _hash(value); std::size_t n = _hash(value);
if (n % _front >= _split) if (n % _front >= _split)
return n % _front; return n % _front;
else else
return n % (2*_front); return n % (2*_front);
} }
std::size_t bucketAddressForHash(std::size_t hash)
{
if (hash % _front >= _split)
return hash % _front;
else
return hash % (2*_front);
}
void split() void split()
{ {
if (_split == _front) if (_split == _front)
{ {
_split = 0; _split = 0;
_front *= 2; _front *= 2;
_buckets.reserve(_front*2); _buckets.reserve(_front*2);
} }
Bucket tmp; Bucket tmp;
_buckets.push_back(tmp); _buckets.push_back(tmp);
 End of changes. 5 change blocks. 
4 lines changed or deleted 21 lines changed or added


 LocalDateTime.h   LocalDateTime.h 
// //
// LocalDateTime.h // LocalDateTime.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LocalDateTime.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/LocalDateTime.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: DateTime // Package: DateTime
// Module: LocalDateTime // Module: LocalDateTime
// //
// Definition of the LocalDateTime class. // Definition of the LocalDateTime class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Locator.h   Locator.h 
// //
// Locator.h // Locator.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/Locator.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/Locator.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX Locator Interface. // SAX Locator Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 LocatorImpl.h   LocatorImpl.h 
// //
// LocatorImpl.h // LocatorImpl.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/LocatorImpl.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/LocatorImpl.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// An implementation of the SAX Locator interface. // An implementation of the SAX Locator interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 LogFile_STD.h   LogFile_STD.h 
// //
// LogFile_STD.h // LogFile_STD.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LogFile_STD.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/LogFile_STD.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: LogFile // Module: LogFile
// //
// Definition of the LogFileImpl class using iostreams. // Definition of the LogFileImpl class using iostreams.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 LogFile_VMS.h   LogFile_VMS.h 
// //
// LogFile_VMS.h // LogFile_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LogFile_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/LogFile_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: LogFile // Module: LogFile
// //
// Definition of the LogFileImpl class using C I/O with OpenVMS extensions. // Definition of the LogFileImpl class using C I/O with OpenVMS extensions.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 LogFile_WIN32.h   LogFile_WIN32.h 
// //
// LogFile_WIN32.h // LogFile_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LogFile_WIN32.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/LogFile_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: LogFile // Module: LogFile
// //
// Definition of the LogFileImpl class using the Windows file APIs. // Definition of the LogFileImpl class using the Windows file APIs.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 LogFile_WIN32U.h   LogFile_WIN32U.h 
// //
// LogFile_WIN32U.h // LogFile_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/LogFile_WIN32U.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/LogFile_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: LogFile // Module: LogFile
// //
// Definition of the LogFileImpl class using the Windows file APIs. // Definition of the LogFileImpl class using the Windows file APIs.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Logger.h   Logger.h 
// //
// Logger.h // Logger.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Logger.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Logger.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: Logger // Module: Logger
// //
// Definition of the Logger class. // Definition of the Logger class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of t he // execute, and transmit the Software, and to prepare derivative works of t he
// Software, and to permit third-parties to whom the Software is furnished to // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, includi ng // The copyright notices in the Software and this entire statement, includi ng
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 Foundation_Logger_INCLUDED #ifndef Foundation_Logger_INCLUDED
#define Foundation_Logger_INCLUDED #define Foundation_Logger_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Channel.h" #include "Poco/Channel.h"
#include "Poco/Message.h" #include "Poco/Message.h"
#include "Poco/Format.h"
#include <map> #include <map>
#include <vector> #include <vector>
#include <cstddef> #include <cstddef>
namespace Poco { namespace Poco {
class Exception; class Exception;
class Foundation_API Logger: public Channel class Foundation_API Logger: public Channel
/// Logger is a special Channel that acts as the main /// Logger is a special Channel that acts as the main
skipping to change at line 83 skipping to change at line 84
/// are descendants of the logger HTTPServer, which itself is a desc endant of /// are descendants of the logger HTTPServer, which itself is a desc endant of
/// the root logger. There is not limit as to how deep /// the root logger. There is not limit as to how deep
/// the logger hierarchy can become. Once a logger has been created and it has /// the logger hierarchy can become. Once a logger has been created and it has
/// inherited the channel and level from its ancestor, it loses the connection /// inherited the channel and level from its ancestor, it loses the connection
/// to it. So changes to the level or channel of a logger do not aff ect its /// to it. So changes to the level or channel of a logger do not aff ect its
/// descendants. This greatly simplifies the implementation of the f ramework /// descendants. This greatly simplifies the implementation of the f ramework
/// and is no real restriction, because almost always levels and cha nnels are /// and is no real restriction, because almost always levels and cha nnels are
/// set up at application startup and never changed afterwards. Neve rtheless, /// set up at application startup and never changed afterwards. Neve rtheless,
/// there are methods to simultaneously change the level and channel of all /// there are methods to simultaneously change the level and channel of all
/// loggers in a certain hierarchy. /// loggers in a certain hierarchy.
///
/// There are also convenience macros available that wrap the actual
/// logging statement into a check whether the Logger's log level
/// is sufficient to actually log the message. This allows to increa
se
/// the application performance if many complex log statements
/// are used. The macros also add the source file path and line
/// number into the log message so that it is available to formatter
s.
/// Variants of these macros that allow message formatting with Poco
::format()
/// are also available. Up to four arguments are supported.
///
/// Examples:
/// poco_warning(logger, "This is a warning");
/// poco_information_f2(logger, "An informational message with a
rgs: %d, %d", 1, 2);
{ {
public: public:
const std::string& name() const; const std::string& name() const;
/// Returns the name of the logger, which is set as the /// Returns the name of the logger, which is set as the
/// message source on all messages created by the logger. /// message source on all messages created by the logger.
void setChannel(Channel* pChannel); void setChannel(Channel* pChannel);
/// Attaches the given Channel to the Logger. /// Attaches the given Channel to the Logger.
Channel* getChannel() const; Channel* getChannel() const;
skipping to change at line 128 skipping to change at line 142
/// setting the target channel and log level, respectively, via the LoggingRegistry. /// setting the target channel and log level, respectively, via the LoggingRegistry.
/// The "channel" and "level" properties are set-only. /// The "channel" and "level" properties are set-only.
void log(const Message& msg); void log(const Message& msg);
/// Logs the given message if its priority is /// Logs the given message if its priority is
/// greater than or equal to the Logger's log level. /// greater than or equal to the Logger's log level.
void log(const Exception& exc); void log(const Exception& exc);
/// Logs the given exception with priority PRIO_ERROR. /// Logs the given exception with priority PRIO_ERROR.
void log(const Exception& exc, const char* file, int line);
/// Logs the given exception with priority PRIO_ERROR.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void fatal(const std::string& msg); void fatal(const std::string& msg);
/// If the Logger's log level is at least PRIO_FATAL, /// If the Logger's log level is at least PRIO_FATAL,
/// creates a Message with priority PRIO_FATAL /// creates a Message with priority PRIO_FATAL
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void fatal(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_FATAL,
/// creates a Message with priority PRIO_FATAL
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void critical(const std::string& msg); void critical(const std::string& msg);
/// If the Logger's log level is at least PRIO_CRITICAL, /// If the Logger's log level is at least PRIO_CRITICAL,
/// creates a Message with priority PRIO_CRITICAL /// creates a Message with priority PRIO_CRITICAL
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void critical(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_CRITICAL,
/// creates a Message with priority PRIO_CRITICAL
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void error(const std::string& msg); void error(const std::string& msg);
/// If the Logger's log level is at least PRIO_ERROR, /// If the Logger's log level is at least PRIO_ERROR,
/// creates a Message with priority PRIO_ERROR /// creates a Message with priority PRIO_ERROR
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void error(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_ERROR,
/// creates a Message with priority PRIO_ERROR
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void warning(const std::string& msg); void warning(const std::string& msg);
/// If the Logger's log level is at least PRIO_WARNING, /// If the Logger's log level is at least PRIO_WARNING,
/// creates a Message with priority PRIO_WARNING /// creates a Message with priority PRIO_WARNING
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void warning(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_WARNING,
/// creates a Message with priority PRIO_WARNING
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void notice(const std::string& msg); void notice(const std::string& msg);
/// If the Logger's log level is at least PRIO_NOTICE, /// If the Logger's log level is at least PRIO_NOTICE,
/// creates a Message with priority PRIO_NOTICE /// creates a Message with priority PRIO_NOTICE
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void notice(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_NOTICE,
/// creates a Message with priority PRIO_NOTICE
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void information(const std::string& msg); void information(const std::string& msg);
/// If the Logger's log level is at least PRIO_INFORMATION, /// If the Logger's log level is at least PRIO_INFORMATION,
/// creates a Message with priority PRIO_INFORMATION /// creates a Message with priority PRIO_INFORMATION
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void information(const std::string& msg, const char* file, int line)
;
/// If the Logger's log level is at least PRIO_INFORMATION,
/// creates a Message with priority PRIO_INFORMATION
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void debug(const std::string& msg); void debug(const std::string& msg);
/// If the Logger's log level is at least PRIO_DEBUG, /// If the Logger's log level is at least PRIO_DEBUG,
/// creates a Message with priority PRIO_DEBUG /// creates a Message with priority PRIO_DEBUG
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void debug(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_DEBUG,
/// creates a Message with priority PRIO_DEBUG
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void trace(const std::string& msg); void trace(const std::string& msg);
/// If the Logger's log level is at least PRIO_TRACE, /// If the Logger's log level is at least PRIO_TRACE,
/// creates a Message with priority PRIO_TRACE /// creates a Message with priority PRIO_TRACE
/// and the given message text and sends it /// and the given message text and sends it
/// to the attached channel. /// to the attached channel.
void trace(const std::string& msg, const char* file, int line);
/// If the Logger's log level is at least PRIO_TRACE,
/// creates a Message with priority PRIO_TRACE
/// and the given message text and sends it
/// to the attached channel.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
void dump(const std::string& msg, const void* buffer, std::size_t le ngth, Message::Priority prio = Message::PRIO_DEBUG); void dump(const std::string& msg, const void* buffer, std::size_t le ngth, Message::Priority prio = Message::PRIO_DEBUG);
/// Logs the given message, followed by the data in buffer. /// Logs the given message, followed by the data in buffer.
/// ///
/// The data in buffer is written in canonical hex+ASCII for m: /// The data in buffer is written in canonical hex+ASCII for m:
/// Offset (4 bytes) in hexadecimal, followed by sixteen /// Offset (4 bytes) in hexadecimal, followed by sixteen
/// space-separated, two column, hexadecimal bytes, /// space-separated, two column, hexadecimal bytes,
/// followed by the same sixteen bytes as ASCII characters. /// followed by the same sixteen bytes as ASCII characters.
/// For bytes outside the range 32 .. 127, a dot is printed. /// For bytes outside the range 32 .. 127, a dot is printed.
bool is(int level) const; bool is(int level) const;
skipping to change at line 296 skipping to change at line 397
static const std::string ROOT; /// The name of the root logger (""). static const std::string ROOT; /// The name of the root logger ("").
protected: protected:
typedef std::map<std::string, Logger*> LoggerMap; typedef std::map<std::string, Logger*> LoggerMap;
Logger(const std::string& name, Channel* pChannel, int level); Logger(const std::string& name, Channel* pChannel, int level);
~Logger(); ~Logger();
void log(const std::string& text, Message::Priority prio); void log(const std::string& text, Message::Priority prio);
void log(const std::string& text, Message::Priority prio, const char * file, int line);
static std::string format(const std::string& fmt, int argc, std::str ing argv[]); static std::string format(const std::string& fmt, int argc, std::str ing argv[]);
static void formatDump(std::string& message, const void* buffer, std ::size_t length); static void formatDump(std::string& message, const void* buffer, std ::size_t length);
static Logger& parent(const std::string& name); static Logger& parent(const std::string& name);
static void add(Logger* pLogger); static void add(Logger* pLogger);
static Logger* find(const std::string& name); static Logger* find(const std::string& name);
private: private:
Logger(); Logger();
Logger(const Logger&); Logger(const Logger&);
skipping to change at line 320 skipping to change at line 422
int _level; int _level;
static LoggerMap* _pLoggerMap; static LoggerMap* _pLoggerMap;
static Mutex _mapMtx; static Mutex _mapMtx;
}; };
// //
// convenience macros // convenience macros
// //
#define poco_fatal(logger, msg) \ #define poco_fatal(logger, msg) \
if ((logger).fatal()) (logger).fatal(msg); else (void) 0 if ((logger).fatal()) (logger).fatal(msg, __FILE__, __LINE__); else
(void) 0
#define poco_fatal_f1(logger, fmt, arg1) \
if ((logger).fatal()) (logger).fatal(Poco::format((fmt), arg1), __FI
LE__, __LINE__); else (void) 0
#define poco_fatal_f2(logger, fmt, arg1, arg2) \
if ((logger).fatal()) (logger).fatal(Poco::format((fmt), (arg1), (ar
g2)), __FILE__, __LINE__); else (void) 0
#define poco_fatal_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).fatal()) (logger).fatal(Poco::format((fmt), (arg1), (ar
g2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_fatal_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).fatal()) (logger).fatal(Poco::format((fmt), (arg1), (ar
g2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_critical(logger, msg) \ #define poco_critical(logger, msg) \
if ((logger).critical()) (logger).critical(msg); else (void) 0 if ((logger).critical()) (logger).critical(msg, __FILE__, __LINE__);
else (void) 0
#define poco_critical_f1(logger, fmt, arg1) \
if ((logger).critical()) (logger).critical(Poco::format((fmt), (arg1
)), __FILE__, __LINE__); else (void) 0
#define poco_critical_f2(logger, fmt, arg1, arg2) \
if ((logger).critical()) (logger).critical(Poco::format((fmt), (arg1
), (arg2)), __FILE__, __LINE__); else (void) 0
#define poco_critical_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).critical()) (logger).critical(Poco::format((fmt), (arg1
), (arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_critical_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).critical()) (logger).critical(Poco::format((fmt), (arg1
), (arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_error(logger, msg) \ #define poco_error(logger, msg) \
if ((logger).error()) (logger).error(msg); else (void) 0 if ((logger).error()) (logger).error(msg, __FILE__, __LINE__); else
(void) 0
#define poco_error_f1(logger, fmt, arg1) \
if ((logger).error()) (logger).error(Poco::format((fmt), (arg1)), __
FILE__, __LINE__); else (void) 0
#define poco_error_f2(logger, fmt, arg1, arg2) \
if ((logger).error()) (logger).error(Poco::format((fmt), (arg1), (ar
g2)), __FILE__, __LINE__); else (void) 0
#define poco_error_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).error()) (logger).error(Poco::format((fmt), (arg1), (ar
g2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_error_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).error()) (logger).error(Poco::format((fmt), (arg1), (ar
g2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_warning(logger, msg) \ #define poco_warning(logger, msg) \
if ((logger).warning()) (logger).warning(msg); else (void) 0 if ((logger).warning()) (logger).warning(msg, __FILE__, __LINE__); e
lse (void) 0
#define poco_warning_f1(logger, fmt, arg1) \
if ((logger).warning()) (logger).warning(Poco::format((fmt), (arg1))
, __FILE__, __LINE__); else (void) 0
#define poco_warning_f2(logger, fmt, arg1, arg2) \
if ((logger).warning()) (logger).warning(Poco::format((fmt), (arg1),
(arg2)), __FILE__, __LINE__); else (void) 0
#define poco_warning_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).warning()) (logger).warning(Poco::format((fmt), (arg1),
(arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_warning_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).warning()) (logger).warning(Poco::format((fmt), (arg1),
(arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_notice(logger, msg) \ #define poco_notice(logger, msg) \
if ((logger).notice()) (logger).notice(msg); else (void) 0 if ((logger).notice()) (logger).notice(msg, __FILE__, __LINE__); els
e (void) 0
#define poco_notice_f1(logger, fmt, arg1) \
if ((logger).notice()) (logger).notice(Poco::format((fmt), (arg1)),
__FILE__, __LINE__); else (void) 0
#define poco_notice_f2(logger, fmt, arg1, arg2) \
if ((logger).notice()) (logger).notice(Poco::format((fmt), (arg1), (
arg2)), __FILE__, __LINE__); else (void) 0
#define poco_notice_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).notice()) (logger).notice(Poco::format((fmt), (arg1), (
arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_notice_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).notice()) (logger).notice(Poco::format((fmt), (arg1), (
arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_information(logger, msg) \ #define poco_information(logger, msg) \
if ((logger).information()) (logger).information(msg); else (void) 0 if ((logger).information()) (logger).information(msg, __FILE__, __LI
NE__); else (void) 0
#define poco_information_f1(logger, fmt, arg1) \
if ((logger).information()) (logger).information(Poco::format((fmt),
(arg1)), __FILE__, __LINE__); else (void) 0
#define poco_information_f2(logger, fmt, arg1, arg2) \
if ((logger).information()) (logger).information(Poco::format((fmt),
(arg1), (arg2)), __FILE__, __LINE__); else (void) 0
#define poco_information_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).information()) (logger).information(Poco::format((fmt),
(arg1), (arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_information_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).information()) (logger).information(Poco::format((fmt),
(arg1), (arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#if defined(_DEBUG) #if defined(_DEBUG)
#define poco_debug(logger, msg) \ #define poco_debug(logger, msg) \
if ((logger).debug()) (logger).debug(msg); else (void) 0 if ((logger).debug()) (logger).debug(msg, __FILE__, __LINE__
); else (void) 0
#define poco_debug_f1(logger, fmt, arg1) \
if ((logger).debug()) (logger).debug(Poco::format((fmt), (ar
g1)), __FILE__, __LINE__); else (void) 0
#define poco_debug_f2(logger, fmt, arg1, arg2) \
if ((logger).debug()) (logger).debug(Poco::format((fmt), (ar
g1), (arg2)), __FILE__, __LINE__); else (void) 0
#define poco_debug_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).debug()) (logger).debug(Poco::format((fmt), (ar
g1), (arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_debug_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).debug()) (logger).debug(Poco::format((fmt), (ar
g1), (arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#define poco_trace(logger, msg) \ #define poco_trace(logger, msg) \
if ((logger).trace()) (logger).trace(msg); else (void) 0 if ((logger).trace()) (logger).trace(msg, __FILE__, __LINE__
); else (void) 0
#define poco_trace_f1(logger, fmt, arg1) \
if ((logger).trace()) (logger).trace(Poco::format((fmt), (ar
g1)), __FILE__, __LINE__); else (void) 0
#define poco_trace_f2(logger, fmt, arg1, arg2) \
if ((logger).trace()) (logger).trace(Poco::format((fmt), (ar
g1), (arg2)), __FILE__, __LINE__); else (void) 0
#define poco_trace_f3(logger, fmt, arg1, arg2, arg3) \
if ((logger).trace()) (logger).trace(Poco::format((fmt), (ar
g1), (arg2), (arg3)), __FILE__, __LINE__); else (void) 0
#define poco_trace_f4(logger, fmt, arg1, arg2, arg3, arg4) \
if ((logger).trace()) (logger).trace(Poco::format((fmt), (ar
g1), (arg2), (arg3), (arg4)), __FILE__, __LINE__); else (void) 0
#else #else
#define poco_debug(logger, msg) #define poco_debug(logger, msg)
#define poco_debug_f1(logger, fmt, arg1)
#define poco_debug_f2(logger, fmt, arg1, arg2)
#define poco_debug_f3(logger, fmt, arg1, arg2, arg3)
#define poco_debug_f4(logger, fmt, arg1, arg2, arg3, arg4)
#define poco_trace(logger, msg) #define poco_trace(logger, msg)
#define poco_trace_f1(logger, fmt, arg1)
#define poco_trace_f2(logger, fmt, arg1, arg2)
#define poco_trace_f3(logger, fmt, arg1, arg2, arg3)
#define poco_trace_f4(logger, fmt, arg1, arg2, arg3, arg4)
#endif #endif
// //
// inlines // inlines
// //
inline const std::string& Logger::name() const inline const std::string& Logger::name() const
{ {
return _name; return _name;
} }
skipping to change at line 369 skipping to change at line 575
} }
inline void Logger::log(const std::string& text, Message::Priority prio) inline void Logger::log(const std::string& text, Message::Priority prio)
{ {
if (_level >= prio && _pChannel) if (_level >= prio && _pChannel)
{ {
_pChannel->log(Message(_name, text, prio)); _pChannel->log(Message(_name, text, prio));
} }
} }
inline void Logger::log(const std::string& text, Message::Priority prio, co
nst char* file, int line)
{
if (_level >= prio && _pChannel)
{
_pChannel->log(Message(_name, text, prio, file, line));
}
}
inline void Logger::fatal(const std::string& msg) inline void Logger::fatal(const std::string& msg)
{ {
log(msg, Message::PRIO_FATAL); log(msg, Message::PRIO_FATAL);
} }
inline void Logger::fatal(const std::string& msg, const char* file, int lin
e)
{
log(msg, Message::PRIO_FATAL, file, line);
}
inline void Logger::critical(const std::string& msg) inline void Logger::critical(const std::string& msg)
{ {
log(msg, Message::PRIO_CRITICAL); log(msg, Message::PRIO_CRITICAL);
} }
inline void Logger::critical(const std::string& msg, const char* file, int
line)
{
log(msg, Message::PRIO_CRITICAL, file, line);
}
inline void Logger::error(const std::string& msg) inline void Logger::error(const std::string& msg)
{ {
log(msg, Message::PRIO_ERROR); log(msg, Message::PRIO_ERROR);
} }
inline void Logger::error(const std::string& msg, const char* file, int lin
e)
{
log(msg, Message::PRIO_ERROR, file, line);
}
inline void Logger::warning(const std::string& msg) inline void Logger::warning(const std::string& msg)
{ {
log(msg, Message::PRIO_WARNING); log(msg, Message::PRIO_WARNING);
} }
inline void Logger::warning(const std::string& msg, const char* file, int l
ine)
{
log(msg, Message::PRIO_WARNING, file, line);
}
inline void Logger::notice(const std::string& msg) inline void Logger::notice(const std::string& msg)
{ {
log(msg, Message::PRIO_NOTICE); log(msg, Message::PRIO_NOTICE);
} }
inline void Logger::notice(const std::string& msg, const char* file, int li
ne)
{
log(msg, Message::PRIO_NOTICE, file, line);
}
inline void Logger::information(const std::string& msg) inline void Logger::information(const std::string& msg)
{ {
log(msg, Message::PRIO_INFORMATION); log(msg, Message::PRIO_INFORMATION);
} }
inline void Logger::information(const std::string& msg, const char* file, i
nt line)
{
log(msg, Message::PRIO_INFORMATION, file, line);
}
inline void Logger::debug(const std::string& msg) inline void Logger::debug(const std::string& msg)
{ {
log(msg, Message::PRIO_DEBUG); log(msg, Message::PRIO_DEBUG);
} }
inline void Logger::debug(const std::string& msg, const char* file, int lin
e)
{
log(msg, Message::PRIO_DEBUG, file, line);
}
inline void Logger::trace(const std::string& msg) inline void Logger::trace(const std::string& msg)
{ {
log(msg, Message::PRIO_TRACE); log(msg, Message::PRIO_TRACE);
} }
inline void Logger::trace(const std::string& msg, const char* file, int lin
e)
{
log(msg, Message::PRIO_TRACE, file, line);
}
inline bool Logger::is(int level) const inline bool Logger::is(int level) const
{ {
return _level >= level; return _level >= level;
} }
inline bool Logger::fatal() const inline bool Logger::fatal() const
{ {
return _level >= Message::PRIO_FATAL; return _level >= Message::PRIO_FATAL;
} }
 End of changes. 33 change blocks. 
10 lines changed or deleted 318 lines changed or added


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


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


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


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


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


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


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


 MailMessage.h   MailMessage.h 
// //
// MailMessage.h // MailMessage.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/MailMessage.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/MailMessage.h#1 $
// //
// Library: Net // Library: Net
// Package: Mail // Package: Mail
// Module: MailMessage // Module: MailMessage
// //
// Definition of the MailMessage class. // Definition of the MailMessage class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 167 skipping to change at line 167
/// Returns true iff the message is a multipart message. /// Returns true iff the message is a multipart message.
void addPart(const std::string& name, PartSource* pSource, ContentDi sposition disposition, ContentTransferEncoding encoding); void addPart(const std::string& name, PartSource* pSource, ContentDi sposition disposition, ContentTransferEncoding encoding);
/// Adds a part/attachment to the mail message. /// Adds a part/attachment to the mail message.
/// ///
/// The MailMessage takes ownership of the PartSource and de letes it /// The MailMessage takes ownership of the PartSource and de letes it
/// when it is no longer needed. /// when it is no longer needed.
/// ///
/// The MailMessage will be converted to a multipart message /// The MailMessage will be converted to a multipart message
/// if it is not already one. /// if it is not already one.
///
/// The part name, and the filename specified in the part so
urce
/// must not contain any non-ASCII characters.
/// To include non-ASCII characters in the part name or file
name,
/// use RFC 2047 word encoding (see encodeWord()).
void addContent(PartSource* pSource, ContentTransferEncoding encodin g = ENCODING_QUOTED_PRINTABLE); void addContent(PartSource* pSource, ContentTransferEncoding encodin g = ENCODING_QUOTED_PRINTABLE);
/// Adds a part to the mail message by calling /// Adds a part to the mail message by calling
/// addPart("", pSource, CONTENT_INLINE, encoding); /// addPart("", pSource, CONTENT_INLINE, encoding);
///
/// The part name, and the filename specified in the part so
urce
/// must not contain any non-ASCII characters.
/// To include non-ASCII characters in the part name or file
name,
/// use RFC 2047 word encoding (see encodeWord()).
void addAttachment(const std::string& name, PartSource* pSource, Con tentTransferEncoding encoding = ENCODING_BASE64); void addAttachment(const std::string& name, PartSource* pSource, Con tentTransferEncoding encoding = ENCODING_BASE64);
/// Adds an attachment to the mail message by calling /// Adds an attachment to the mail message by calling
/// addPart(name, pSource, CONTENT_ATTACHMENT, encoding); /// addPart(name, pSource, CONTENT_ATTACHMENT, encoding);
///
/// The part name, and the filename specified in the part so
urce
/// must not contain any non-ASCII characters.
/// To include non-ASCII characters in the part name or file
name,
/// use RFC 2047 word encoding (see encodeWord()).
void read(std::istream& istr, PartHandler& handler); void read(std::istream& istr, PartHandler& handler);
/// Reads the MailMessage from the given input stream. /// Reads the MailMessage from the given input stream.
/// ///
/// If the message has multiple parts, the parts /// If the message has multiple parts, the parts
/// are reported to the PartHandler. If the message /// are reported to the PartHandler. If the message
/// is not a multi-part message, the content is stored /// is not a multi-part message, the content is stored
/// in a string available by calling getContent(). /// in a string available by calling getContent().
void read(std::istream& istr); void read(std::istream& istr);
 End of changes. 4 change blocks. 
1 lines changed or deleted 22 lines changed or added


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


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


 Manifest.h   Manifest.h 
// //
// Manifest.h // Manifest.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Manifest.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Manifest.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: ClassLoader // Module: ClassLoader
// //
// Definition of the Manifest class. // Definition of the Manifest class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 MapConfiguration.h   MapConfiguration.h 
// //
// MapConfiguration.h // MapConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/MapConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/MapConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: MapConfiguration // Module: MapConfiguration
// //
// Definition of the MapConfiguration class. // Definition of the MapConfiguration 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 65 skipping to change at line 65
void clear(); void clear();
/// Clears the configuration. /// Clears the configuration.
protected: protected:
typedef std::map<std::string, std::string> StringMap; typedef std::map<std::string, std::string> StringMap;
typedef StringMap::const_iterator iterator; typedef StringMap::const_iterator iterator;
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
~MapConfiguration(); ~MapConfiguration();
iterator begin() const; iterator begin() const;
iterator end() const; iterator end() const;
private: private:
StringMap _map; StringMap _map;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 MediaType.h   MediaType.h 
// //
// MediaType.h // MediaType.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/MediaType.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/MediaType.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 MemoryStream.h   MemoryStream.h 
// //
// MemoryStream.h // MemoryStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/MemoryStream.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/MemoryStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: MemoryStream // Module: MemoryStream
// //
// Definition of MemoryStreamBuf, MemoryInputStream, MemoryOutputStream // Definition of MemoryStreamBuf, MemoryInputStream, MemoryOutputStream
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 100 skipping to change at line 100
return char_traits::eof(); return char_traits::eof();
} }
virtual int sync() virtual int sync()
{ {
return 0; return 0;
} }
std::streamsize charsWritten() const std::streamsize charsWritten() const
{ {
return this->pptr() - this->pbase(); return static_cast<std::streamsize>(this->pptr() - this->pba
se());
}
void reset()
/// Resets the buffer so that current read and write positio
ns
/// will be set to the beginning of the buffer.
{
this->setg(_pBuffer, _pBuffer, _pBuffer + _bufferSize);
this->setp(_pBuffer, _pBuffer + _bufferSize);
} }
private: private:
char_type* _pBuffer; char_type* _pBuffer;
std::streamsize _bufferSize; std::streamsize _bufferSize;
BasicMemoryStreamBuf(); BasicMemoryStreamBuf();
BasicMemoryStreamBuf(const BasicMemoryStreamBuf&); BasicMemoryStreamBuf(const BasicMemoryStreamBuf&);
BasicMemoryStreamBuf& operator = (const BasicMemoryStreamBuf&); BasicMemoryStreamBuf& operator = (const BasicMemoryStreamBuf&);
}; };
skipping to change at line 167 skipping to change at line 175
~MemoryOutputStream(); ~MemoryOutputStream();
/// Destroys the MemoryInputStream. /// Destroys the MemoryInputStream.
std::streamsize charsWritten() const; std::streamsize charsWritten() const;
/// Returns the number of chars written to the buffer. /// Returns the number of chars written to the buffer.
}; };
// //
// inlines // inlines
// //
inline MemoryStreamBuf* MemoryIOS::rdbuf()
{
return &_buf;
}
inline std::streamsize MemoryOutputStream::charsWritten() const inline std::streamsize MemoryOutputStream::charsWritten() const
{ {
return _buf.charsWritten(); return _buf.charsWritten();
} }
} // namespace Poco } // namespace Poco
#endif // Foundation_MemoryStream_INCLUDED #endif // Foundation_MemoryStream_INCLUDED
 End of changes. 3 change blocks. 
2 lines changed or deleted 17 lines changed or added


 Message.h   Message.h 
// //
// Message.h // Message.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Message.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Message.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: Message // Module: Message
// //
// Definition of the Message class. // Definition of the Message 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 56 skipping to change at line 56
class Foundation_API Message class Foundation_API Message
/// This class represents a log message that is sent through a /// This class represents a log message that is sent through a
/// chain of log channels. /// chain of log channels.
/// ///
/// A Message contains a priority denoting the severity of the /// A Message contains a priority denoting the severity of the
/// message, a source describing its origin, a text describing /// message, a source describing its origin, a text describing
/// its meaning, the time of its creation, and an identifier of /// its meaning, the time of its creation, and an identifier of
/// the process and thread that created the message. /// the process and thread that created the message.
/// ///
/// Optionally a Message can also contain the source file path
/// and line number of the statement generating the message.
///
/// A Message can also contain any number of named parameters /// A Message can also contain any number of named parameters
/// that contain additional information about the event that /// that contain additional information about the event that
/// caused the message. /// caused the message.
{ {
public: public:
enum Priority enum Priority
{ {
PRIO_FATAL = 1, /// A fatal error. The application will mo st likely terminate. This is the highest priority. PRIO_FATAL = 1, /// A fatal error. The application will mo st likely terminate. This is the highest priority.
PRIO_CRITICAL, /// A critical error. The application migh t not be able to continue running successfully. PRIO_CRITICAL, /// A critical error. The application migh t not be able to continue running successfully.
PRIO_ERROR, /// An error. An operation did not complet e successfully, but the application as a whole is not affected. PRIO_ERROR, /// An error. An operation did not complet e successfully, but the application as a whole is not affected.
skipping to change at line 81 skipping to change at line 84
}; };
Message(); Message();
/// Creates an empty Message. /// Creates an empty Message.
/// The thread and process ids are set. /// The thread and process ids are set.
Message(const std::string& source, const std::string& text, Priority prio); Message(const std::string& source, const std::string& text, Priority prio);
/// Creates a Message with the given source, text and priori ty. /// Creates a Message with the given source, text and priori ty.
/// The thread and process ids are set. /// The thread and process ids are set.
Message(const std::string& source, const std::string& text, Priority
prio, const char* file, int line);
/// Creates a Message with the given source, text, priority,
/// source file path and line.
///
/// The source file path must be a
/// static string with a lifetime that's at least the lifeti
me
/// of the message object (the string is not copied internal
ly).
/// Usually, this will be the path string obtained from the
/// __FILE__ macro.
///
/// The thread and process ids are set.
Message(const Message& msg); Message(const Message& msg);
/// Creates a Message by copying another one. /// Creates a Message by copying another one.
Message(const Message& msg, const std::string& text); Message(const Message& msg, const std::string& text);
/// Creates a Message by copying all but the text from anoth er message. /// Creates a Message by copying all but the text from anoth er message.
~Message(); ~Message();
/// Destroys the Message. /// Destroys the Message.
Message& operator = (const Message& msg); Message& operator = (const Message& msg);
skipping to change at line 138 skipping to change at line 153
long getTid() const; long getTid() const;
/// Returns the numeric thread identifier for the message. /// Returns the numeric thread identifier for the message.
void setPid(long pid); void setPid(long pid);
/// Sets the process identifier for the message. /// Sets the process identifier for the message.
long getPid() const; long getPid() const;
/// Returns the process identifier for the message. /// Returns the process identifier for the message.
void setSourceFile(const char* file);
/// Sets the source file path of the statement
/// generating the log message.
///
/// File must be a static string, such as the value of
/// the __FILE__ macro. The string is not copied
/// internally for performance reasons.
const char* getSourceFile() const;
/// Returns the source file path of the code creating
/// the message. May be 0 if not set.
void setSourceLine(int line);
/// Sets the source file line of the statement
/// generating the log message.
///
/// This is usually the result of the __LINE__
/// macro.
int getSourceLine() const;
/// Returns the source file line of the statement
/// generating the log message. May be 0
/// if not set.
const std::string& operator [] (const std::string& param) const; const std::string& operator [] (const std::string& param) const;
/// Returns a const reference to the value of the parameter /// Returns a const reference to the value of the parameter
/// with the given name. Throws a NotFoundException if the /// with the given name. Throws a NotFoundException if the
/// parameter does not exist. /// parameter does not exist.
std::string& operator [] (const std::string& param); std::string& operator [] (const std::string& param);
/// Returns a reference to the value of the parameter with t he /// Returns a reference to the value of the parameter with t he
/// given name. This can be used to set the parameter's valu e. /// given name. This can be used to set the parameter's valu e.
/// If the parameter does not exist, it is created with an /// If the parameter does not exist, it is created with an
/// empty string value. /// empty string value.
skipping to change at line 161 skipping to change at line 200
typedef std::map<std::string, std::string> StringMap; typedef std::map<std::string, std::string> StringMap;
private: private:
std::string _source; std::string _source;
std::string _text; std::string _text;
Priority _prio; Priority _prio;
Timestamp _time; Timestamp _time;
int _tid; int _tid;
std::string _thread; std::string _thread;
long _pid; long _pid;
const char* _file;
int _line;
StringMap* _pMap; StringMap* _pMap;
}; };
// //
// inlines // inlines
// //
inline const std::string& Message::getSource() const inline const std::string& Message::getSource() const
{ {
return _source; return _source;
} }
skipping to change at line 202 skipping to change at line 243
inline long Message::getTid() const inline long Message::getTid() const
{ {
return _tid; return _tid;
} }
inline long Message::getPid() const inline long Message::getPid() const
{ {
return _pid; return _pid;
} }
inline const char* Message::getSourceFile() const
{
return _file;
}
inline int Message::getSourceLine() const
{
return _line;
}
inline void swap(Message& m1, Message& m2) inline void swap(Message& m1, Message& m2)
{ {
m1.swap(m2); m1.swap(m2);
} }
} // namespace Poco } // namespace Poco
#endif // Foundation_Message_INCLUDED #endif // Foundation_Message_INCLUDED
 End of changes. 6 change blocks. 
1 lines changed or deleted 55 lines changed or added


 MessageHeader.h   MessageHeader.h 
// //
// MessageHeader.h // MessageHeader.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/MessageHeader.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/MessageHeader.h#1 $
// //
// Library: Net // Library: Net
// Package: Messages // Package: Messages
// Module: MessageHeader // Module: MessageHeader
// //
// Definition of the MessageHeader class. // Definition of the MessageHeader class.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 138 skipping to change at line 138
static void splitParameters(const std::string::const_iterator& begin , const std::string::const_iterator& end, NameValueCollection& parameters); static void splitParameters(const std::string::const_iterator& begin , const std::string::const_iterator& end, NameValueCollection& parameters);
/// Splits the given string into a collection of parameters. /// Splits the given string into a collection of parameters.
/// Parameters are expected to be separated by semicolons. /// Parameters are expected to be separated by semicolons.
/// ///
/// Enclosing quotes of parameter values are removed. /// Enclosing quotes of parameter values are removed.
static void quote(const std::string& value, std::string& result, boo l allowSpace = false); static void quote(const std::string& value, std::string& result, boo l allowSpace = false);
/// Checks if the value must be quoted. If so, the value is /// Checks if the value must be quoted. If so, the value is
/// appended to result, enclosed in double-quotes. /// appended to result, enclosed in double-quotes.
/// Otherwise. the value is appended to result as-is. /// Otherwise, the value is appended to result as-is.
private: private:
enum Limits enum Limits
/// Limits for basic sanity checks when reading a header /// Limits for basic sanity checks when reading a header
{ {
MAX_NAME_LENGTH = 256, MAX_NAME_LENGTH = 256,
MAX_VALUE_LENGTH = 4096 MAX_VALUE_LENGTH = 4096
}; };
}; };
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 MetaObject.h   MetaObject.h 
// //
// MetaObject.h // MetaObject.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/MetaObject.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/MetaObject.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: ClassLoader // Module: ClassLoader
// //
// Definition of the MetaObject class. // Definition of the MetaObject class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 MetaProgramming.h   MetaProgramming.h 
// //
// TypeChecks.h // MetaProgramming.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/MetaProgramming.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/MetaProgramming.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: MetaProgramming // Module: MetaProgramming
// //
// Common definitions useful for Meta Template Programming // Common definitions useful for Meta Template Programming
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_TypeChecks_INCLUDED #ifndef Foundation_MetaProgramming_INCLUDED
#define Foundation_TypeChecks_INCLUDED #define Foundation_MetaProgramming_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <typename T> template <typename T>
struct IsReference struct IsReference
///Use this struct to determine if a template type is a reference /// Use this struct to determine if a template type is a reference.
{ {
enum enum
{ {
VALUE = 0 VALUE = 0
}; };
}; };
template <typename T> template <typename T>
struct IsReference<T&> struct IsReference<T&>
{ {
skipping to change at line 75 skipping to change at line 75
struct IsReference<const T&> struct IsReference<const T&>
{ {
enum enum
{ {
VALUE = 1 VALUE = 1
}; };
}; };
template <typename T> template <typename T>
struct IsConst struct IsConst
///Use this struct to determine if a template type is a const type /// Use this struct to determine if a template type is a const type.
{ {
enum enum
{ {
VALUE = 0 VALUE = 0
}; };
}; };
template <typename T> template <typename T>
struct IsConst<const T&> struct IsConst<const T&>
{ {
skipping to change at line 103 skipping to change at line 103
struct IsConst<const T> struct IsConst<const T>
{ {
enum enum
{ {
VALUE = 1 VALUE = 1
}; };
}; };
template <typename T> template <typename T>
struct TypeWrapper struct TypeWrapper
/// Use the type wrapper if you want to dedecouple constness and ref erences from template types /// Use the type wrapper if you want to decouple constness and refer ences from template types.
{ {
typedef T TYPE; typedef T TYPE;
typedef const T CONSTTYPE; typedef const T CONSTTYPE;
typedef T& REFTYPE; typedef T& REFTYPE;
typedef const T& CONSTREFTYPE; typedef const T& CONSTREFTYPE;
}; };
template <typename T> template <typename T>
struct TypeWrapper<const T> struct TypeWrapper<const T>
{ {
skipping to change at line 140 skipping to change at line 140
struct TypeWrapper<T&> struct TypeWrapper<T&>
{ {
typedef T TYPE; typedef T TYPE;
typedef const T CONSTTYPE; typedef const T CONSTTYPE;
typedef T& REFTYPE; typedef T& REFTYPE;
typedef const T& CONSTREFTYPE; typedef const T& CONSTREFTYPE;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_MetaProgramming_INCLUDED
 End of changes. 7 change blocks. 
7 lines changed or deleted 7 lines changed or added


 MulticastSocket.h   MulticastSocket.h 
// //
// MulticastSocket.h // MulticastSocket.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/MulticastSocket.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/MulticastSocket.h#1 $
// //
// Library: Net // Library: Net
// Package: Sockets // Package: Sockets
// Module: MulticastSocket // Module: MulticastSocket
// //
// Definition of the MulticastSocket class. // Definition of the MulticastSocket 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 86 skipping to change at line 86
~MulticastSocket(); ~MulticastSocket();
/// Destroys the DatagramSocket. /// Destroys the DatagramSocket.
MulticastSocket& operator = (const Socket& socket); MulticastSocket& operator = (const Socket& socket);
/// Assignment operator. /// Assignment operator.
/// ///
/// Releases the socket's SocketImpl and /// Releases the socket's SocketImpl and
/// attaches the SocketImpl from the other socket and /// attaches the SocketImpl from the other socket and
/// increments the reference count of the SocketImpl. /// increments the reference count of the SocketImpl.
void setInterface(const NetworkInterface& interface); void setInterface(const NetworkInterface& interfc);
/// Sets the interface used for sending multicast packets. /// Sets the interface used for sending multicast packets.
/// ///
/// To select the default interface, specify an empty /// To select the default interface, specify an empty
/// interface. /// interface.
/// ///
/// This is done by setting the IP_MULTICAST_IF/IPV6_MULTICA ST_IF /// This is done by setting the IP_MULTICAST_IF/IPV6_MULTICA ST_IF
/// socket option. /// socket option.
NetworkInterface getInterface() const; NetworkInterface getInterface() const;
/// Returns the interface used for sending multicast packets . /// Returns the interface used for sending multicast packets .
skipping to change at line 120 skipping to change at line 120
/// ///
/// Sets the value of the IP_MULTICAST_TTL/IPV6_MULTICAST_HO PS /// Sets the value of the IP_MULTICAST_TTL/IPV6_MULTICAST_HO PS
/// socket option. /// socket option.
unsigned getTimeToLive() const; unsigned getTimeToLive() const;
/// Returns the TTL/hop limit for outgoing packets. /// Returns the TTL/hop limit for outgoing packets.
void joinGroup(const IPAddress& groupAddress); void joinGroup(const IPAddress& groupAddress);
/// Joins the specified multicast group at the default inter face. /// Joins the specified multicast group at the default inter face.
void joinGroup(const IPAddress& groupAddress, const NetworkInterface & interface); void joinGroup(const IPAddress& groupAddress, const NetworkInterface & interfc);
/// Joins the specified multicast group at the given interfa ce. /// Joins the specified multicast group at the given interfa ce.
void leaveGroup(const IPAddress& groupAddress); void leaveGroup(const IPAddress& groupAddress);
/// Leaves the specified multicast group at the default inte rface. /// Leaves the specified multicast group at the default inte rface.
void leaveGroup(const IPAddress& groupAddress, const NetworkInterfac e& interface); void leaveGroup(const IPAddress& groupAddress, const NetworkInterfac e& interfc);
/// Leaves the specified multicast group at the given interf ace. /// Leaves the specified multicast group at the given interf ace.
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_MulticastSocket_INCLUDED #endif // Net_MulticastSocket_INCLUDED
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


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


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


 MutationEvent.h   MutationEvent.h 
// //
// MutationEvent.h // MutationEvent.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/MutationEvent.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/MutationEvent.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOMEvents // Module: DOMEvents
// //
// Definition of the DOM MutationEvent class. // Definition of the DOM MutationEvent class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Mutex.h   Mutex.h 
// //
// Mutex.h // Mutex.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Mutex.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Mutex.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Mutex // Module: Mutex
// //
// Definition of the Mutex and FastMutex classes. // Definition of the Mutex and FastMutex classes.
// //
// Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 46 skipping to change at line 46
// //
#ifndef Foundation_Mutex_INCLUDED #ifndef Foundation_Mutex_INCLUDED
#define Foundation_Mutex_INCLUDED #define Foundation_Mutex_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include "Poco/ScopedLock.h" #include "Poco/ScopedLock.h"
#if defined(POCO_OS_FAMILY_WINDOWS) #if defined(POCO_OS_FAMILY_WINDOWS)
#if defined(_WIN32_WCE)
#include "Poco/Mutex_WINCE.h"
#else
#include "Poco/Mutex_WIN32.h" #include "Poco/Mutex_WIN32.h"
#endif
#else #else
#include "Poco/Mutex_POSIX.h" #include "Poco/Mutex_POSIX.h"
#endif #endif
namespace Poco { namespace Poco {
class Foundation_API Mutex: private MutexImpl class Foundation_API Mutex: private MutexImpl
/// A Mutex (mutual exclusion) is a synchronization /// A Mutex (mutual exclusion) is a synchronization
/// mechanism used to control access to a shared resource /// mechanism used to control access to a shared resource
/// in a concurrent (multithreaded) scenario. /// in a concurrent (multithreaded) scenario.
skipping to change at line 162 skipping to change at line 166
void unlock(); void unlock();
/// Unlocks the mutex so that it can be acquired by /// Unlocks the mutex so that it can be acquired by
/// other threads. /// other threads.
private: private:
FastMutex(const FastMutex&); FastMutex(const FastMutex&);
FastMutex& operator = (const FastMutex&); FastMutex& operator = (const FastMutex&);
}; };
class Foundation_API NullMutex
/// A NullMutex is an simple mutex implementation
/// which performs no locking at all. Useful in policy driven design
/// where the type of mutex used can be now a template parameter all
owing
/// to switch between thread-safe and not thread-safe implementation
s.
{
public:
typedef Poco::ScopedLock<NullMutex> ScopedLock;
NullMutex()
/// Creates the NullMutex.
{
}
~NullMutex()
/// Destroys the NullMutex.
{
}
void lock()
/// Does nothing.
{
}
void lock(long)
/// Does nothing.
{
}
bool tryLock()
/// Does nothing and always returns true.
{
return true;
}
bool tryLock(long)
/// Does nothing and always returns true.
{
return true;
}
void unlock()
/// Does nothing.
{
}
};
// //
// inlines // inlines
// //
inline void Mutex::lock() inline void Mutex::lock()
{ {
lockImpl(); lockImpl();
} }
inline void Mutex::lock(long milliseconds) inline void Mutex::lock(long milliseconds)
{ {
 End of changes. 4 change blocks. 
1 lines changed or deleted 54 lines changed or added


 Mutex_POSIX.h   Mutex_POSIX.h 
// //
// Mutex_POSIX.h // Mutex_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Mutex_POSIX.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Mutex_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Mutex // Module: Mutex
// //
// Definition of the MutexImpl and FastMutexImpl classes for POSIX Threads. // Definition of the MutexImpl and FastMutexImpl classes for POSIX Threads.
// //
// Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Mutex_WIN32.h   Mutex_WIN32.h 
// //
// Mutex_WIN32.h // Mutex_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Mutex_WIN32.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Mutex_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Mutex // Module: Mutex
// //
// Definition of the MutexImpl and FastMutexImpl classes for WIN32. // Definition of the MutexImpl and FastMutexImpl classes for WIN32.
// //
// Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NObserver.h   NObserver.h 
// //
// NObserver.h // NObserver.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NObserver.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/NObserver.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: NotificationCenter // Module: NotificationCenter
// //
// Definition of the NObserver class template. // Definition of the NObserver class template.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


 NamedEvent_UNIX.h   NamedEvent_UNIX.h 
// //
// NamedEvent_UNIX.h // NamedEvent_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedEvent_UNIX.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedEvent_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedEvent // Module: NamedEvent
// //
// Definition of the NamedEventImpl class for Unix. // Definition of the NamedEventImpl class for Unix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedEvent_VMS.h   NamedEvent_VMS.h 
// //
// NamedEvent_VMS.h // NamedEvent_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedEvent_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedEvent_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedEvent // Module: NamedEvent
// //
// Definition of the NamedEventImpl class for OpenVMS. // Definition of the NamedEventImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedEvent_WIN32.h   NamedEvent_WIN32.h 
// //
// NamedEvent_WIN32.h // NamedEvent_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedEvent_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedEvent_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedEvent // Module: NamedEvent
// //
// Definition of the NamedEventImpl class for Windows. // Definition of the NamedEventImpl class for Windows.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedEvent_WIN32U.h   NamedEvent_WIN32U.h 
// //
// NamedEvent_WIN32U.h // NamedEvent_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedEvent_WIN32U.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedEvent_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedEvent // Module: NamedEvent
// //
// Definition of the NamedEventImpl class for Windows. // Definition of the NamedEventImpl class for Windows.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 NamedMutex_UNIX.h   NamedMutex_UNIX.h 
// //
// NamedMutex_UNIX.h // NamedMutex_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedMutex_UNIX.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedMutex_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedMutex // Module: NamedMutex
// //
// Definition of the NamedMutexImpl class for Unix. // Definition of the NamedMutexImpl class for Unix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedMutex_VMS.h   NamedMutex_VMS.h 
// //
// NamedMutex_VMS.h // NamedMutex_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedMutex_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedMutex_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedMutex // Module: NamedMutex
// //
// Definition of the NamedMutexImpl class for OpenVMS. // Definition of the NamedMutexImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedMutex_WIN32.h   NamedMutex_WIN32.h 
// //
// NamedMutex_WIN32.h // NamedMutex_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedMutex_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedMutex_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedMutex // Module: NamedMutex
// //
// Definition of the NamedMutexImpl class for Windows. // Definition of the NamedMutexImpl class for Windows.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedMutex_WIN32U.h   NamedMutex_WIN32U.h 
// //
// NamedMutex_WIN32U.h // NamedMutex_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedMutex_WIN32U.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedMutex_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: NamedMutex // Module: NamedMutex
// //
// Definition of the NamedMutexImpl class for Windows. // Definition of the NamedMutexImpl class for Windows.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedNodeMap.h   NamedNodeMap.h 
// //
// NamedNodeMap.h // NamedNodeMap.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/NamedNodeMap.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/NamedNodeMap.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM NamedNodeMap interface. // Definition of the DOM NamedNodeMap interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NamedTuple.h   NamedTuple.h 
// //
// NamedTuple.h // NamedTuple.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NamedTuple.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/NamedTuple.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: NamedTuple // Module: NamedTuple
// //
// Definition of the NamedTuple class. // Definition of the NamedTuple class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 NamespaceSupport.h   NamespaceSupport.h 
// //
// NamespaceSupport.h // NamespaceSupport.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/NamespaceSupport.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/NamespaceSupport.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// Namespace support for SAX2. // Namespace support for SAX2.
// //
// 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
/// ///
/// Returns true if the prefix was legal, false otherwise. /// Returns true if the prefix was legal, false otherwise.
bool undeclarePrefix(const XMLString& prefix); bool undeclarePrefix(const XMLString& prefix);
/// Remove the given namespace prefix. /// Remove the given namespace prefix.
void getDeclaredPrefixes(PrefixSet& prefixes) const; void getDeclaredPrefixes(PrefixSet& prefixes) const;
/// Return an enumeration of all prefixes declared in this c ontext. /// Return an enumeration of all prefixes declared in this c ontext.
/// ///
/// The empty (default) prefix will be included in this enum eration; note that /// The empty (default) prefix will be included in this enum eration; note that
/// this behaviour differs from that of getPrefix(java.lang. String) and getPrefixes(). /// this behaviour differs from that of getPrefix() and getP refixes().
const XMLString& getPrefix(const XMLString& namespaceURI) const; const XMLString& getPrefix(const XMLString& namespaceURI) const;
/// Return one of the prefixes mapped to a Namespace URI. /// Return one of the prefixes mapped to a Namespace URI.
/// ///
/// If more than one prefix is currently mapped to the same URI, this method /// If more than one prefix is currently mapped to the same URI, this method
/// will make an arbitrary selection; if you want all of the prefixes, use the /// will make an arbitrary selection; if you want all of the prefixes, use the
/// getPrefixes() method instead. /// getPrefixes() method instead.
bool isMapped(const XMLString& namespaceURI) const; bool isMapped(const XMLString& namespaceURI) const;
/// Returns true if the given namespaceURI has been mapped t o a prefix, /// Returns true if the given namespaceURI has been mapped t o a prefix,
skipping to change at line 181 skipping to change at line 181
bool processName(const XMLString& qname, XMLString& namespaceURI, XM LString& localName, bool isAttribute) const; bool processName(const XMLString& qname, XMLString& namespaceURI, XM LString& localName, bool isAttribute) const;
/// Process a raw XML 1.0 name. /// Process a raw XML 1.0 name.
/// This method processes a raw XML 1.0 name in the current context /// This method processes a raw XML 1.0 name in the current context
/// by removing the prefix and looking it up among the /// by removing the prefix and looking it up among the
/// prefixes currently declared. The result will be returned in /// prefixes currently declared. The result will be returned in
/// namespaceURI and localName. /// namespaceURI and localName.
/// If the raw name has a prefix that has not been declared, then the return /// If the raw name has a prefix that has not been declared, then the return
/// value will be false, otherwise true. /// value will be false, otherwise true.
/// ///
/// Note that attribute names are processed differently than element names: /// Note that attribute names are processed differently than element names:
/// an unprefixed element name will received the /// an unprefixed element name will receive the
/// default Namespace (if any), while an unprefixed element /// default Namespace (if any), while an unprefixed attribut
name will not. e name will not.
void reset(); void reset();
/// Reset this Namespace support object for reuse. /// Reset this Namespace support object for reuse.
/// ///
/// It is necessary to invoke this method before reusing the Namespace support /// It is necessary to invoke this method before reusing the Namespace support
/// object for a new session. If namespace declaration URIs are to be supported, /// object for a new session. If namespace declaration URIs are to be supported,
/// that flag must also be set to a non-default value. /// that flag must also be set to a non-default value.
/// Reset this Namespace support object for reuse. /// Reset this Namespace support object for reuse.
static const XMLString XML_NAMESPACE; static const XMLString XML_NAMESPACE;
 End of changes. 3 change blocks. 
5 lines changed or deleted 5 lines changed or added


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


 Net.h   Net.h 
// //
// Net.h // Net.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/Net.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/Net.h#1 $
// //
// Library: Net // Library: Net
// Package: NetCore // Package: NetCore
// Module: IPAddress // Module: Net
// //
// Basic definitions for the Poco Net library. // Basic definitions for the Poco Net library.
// This file must be the first file included by every other Net // This file must be the first file included by every other Net
// header file. // header file.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organizat ion // Permission is hereby granted, free of charge, to any person or organizat ion
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
skipping to change at line 70 skipping to change at line 70
#if !defined(Net_API) #if !defined(Net_API)
#define Net_API #define Net_API
#endif #endif
// //
// Automatically link Net library. // Automatically link Net library.
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Net_EXPORTS) #if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Net_EXPORTS)
#if defined(POCO_DLL) #pragma comment(lib, "PocoNet" POCO_LIB_SUFFIX)
#if defined(_DEBUG)
#pragma comment(lib, "PocoNetd.lib")
#else
#pragma comment(lib, "PocoNet.lib")
#endif
#else
#if defined(_DEBUG)
#pragma comment(lib, "PocoNetmtd.lib")
#else
#pragma comment(lib, "PocoNetmt.lib")
#endif
#endif
#endif #endif
#endif #endif
namespace Poco { namespace Poco {
namespace Net { namespace Net {
void initializeNetwork(); void Net_API initializeNetwork();
/// Initialize the network subsystem. /// Initialize the network subsystem.
/// Calls WSAStartup() on Windows, does nothing /// Calls WSAStartup() on Windows, does nothing
/// on other platforms. /// on other platforms.
void uninitializeNetwork(); void Net_API uninitializeNetwork();
/// Uninitialize the network subsystem. /// Uninitialize the network subsystem.
/// Calls WSACleanup() on Windows, does nothing /// Calls WSACleanup() on Windows, does nothing
/// on other platforms. /// on other platforms.
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_Net_INCLUDED #endif // Net_Net_INCLUDED
 End of changes. 5 change blocks. 
17 lines changed or deleted 5 lines changed or added


 NetException.h   NetException.h 
// //
// NetException.h // NetException.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/NetException.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/NetException.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NetworkInterface.h   NetworkInterface.h 
// //
// NetworkInterface.h // NetworkInterface.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/NetworkInterface.h#7 $ // $Id: //poco/1.4/Net/include/Poco/Net/NetworkInterface.h#1 $
// //
// Library: Net // Library: Net
// Package: Sockets // Package: Sockets
// Module: NetworkInterface // Module: NetworkInterface
// //
// Definition of the NetworkInterface class. // Definition of the NetworkInterface 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 61 skipping to change at line 61
class Net_API NetworkInterface class Net_API NetworkInterface
/// This class represents a network interface. /// This class represents a network interface.
/// ///
/// NetworkInterface is used with MulticastSocket to specify /// NetworkInterface is used with MulticastSocket to specify
/// multicast interfaces for sending and receiving multicast /// multicast interfaces for sending and receiving multicast
/// messages. /// messages.
{ {
public: public:
typedef std::vector<NetworkInterface> NetworkInterfaceList; typedef std::vector<NetworkInterface> NetworkInterfaceList;
enum IPVersion
{
IPv4_ONLY, /// Return interfaces with IPv4 address only
IPv6_ONLY, /// Return interfaces with IPv6 address only
IPv4_OR_IPv6 /// Return interfaces with IPv4 or IPv6 addres
s
};
NetworkInterface(); NetworkInterface();
/// Creates a NetworkInterface representing the /// Creates a NetworkInterface representing the
/// default interface. /// default interface.
/// ///
/// The name is empty, the IP address is the wildcard /// The name is empty, the IP address is the wildcard
/// address and the index is zero. /// address and the index is zero.
NetworkInterface(const NetworkInterface& interfc); NetworkInterface(const NetworkInterface& interfc);
/// Creates the NetworkInterface by copying another one. /// Creates the NetworkInterface by copying another one.
skipping to change at line 122 skipping to change at line 129
static NetworkInterface forName(const std::string& name, bool requir eIPv6 = false); static NetworkInterface forName(const std::string& name, bool requir eIPv6 = false);
/// Returns the NetworkInterface for the given name. /// Returns the NetworkInterface for the given name.
/// ///
/// If requireIPv6 is false, an IPv4 interface is returned. /// If requireIPv6 is false, an IPv4 interface is returned.
/// Otherwise, an IPv6 interface is returned. /// Otherwise, an IPv6 interface is returned.
/// ///
/// Throws an InterfaceNotFoundException if an interface /// Throws an InterfaceNotFoundException if an interface
/// with the give name does not exist. /// with the give name does not exist.
static NetworkInterface forName(const std::string& name, IPVersion i
pVersion);
/// Returns the NetworkInterface for the given name.
///
/// If requireIPv6 is false, an IPv4 interface is returned.
/// Otherwise, an IPv6 interface is returned.
///
/// Throws an InterfaceNotFoundException if an interface
/// with the give name does not exist.
static NetworkInterface forAddress(const IPAddress& address); static NetworkInterface forAddress(const IPAddress& address);
/// Returns the NetworkInterface for the given IP address. /// Returns the NetworkInterface for the given IP address.
/// ///
/// Throws an InterfaceNotFoundException if an interface /// Throws an InterfaceNotFoundException if an interface
/// with the give address does not exist. /// with the give address does not exist.
static NetworkInterface forIndex(int index); static NetworkInterface forIndex(int index);
/// Returns the NetworkInterface for the given interface ind ex. /// Returns the NetworkInterface for the given interface ind ex.
/// If an index of 0 is specified, a NetworkInterface instan ce /// If an index of 0 is specified, a NetworkInterface instan ce
/// representing the default interface (empty name and /// representing the default interface (empty name and
 End of changes. 3 change blocks. 
1 lines changed or deleted 19 lines changed or added


 Node.h   Node.h 
// //
// Node.h // Node.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/Node.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/Node.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM Node interface. // Definition of the DOM Node interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NodeAppender.h   NodeAppender.h 
// //
// NodeAppender.h // NodeAppender.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/NodeAppender.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/NodeAppender.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: NodeAppender // Module: NodeAppender
// //
// Definition of the NodeAppender class. // Definition of the NodeAppender class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NodeFilter.h   NodeFilter.h 
// //
// NodeFilter.h // NodeFilter.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/NodeFilter.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/NodeFilter.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: NodeFilter // Module: NodeFilter
// //
// Definition of the DOM NodeFilter interface. // Definition of the DOM NodeFilter interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 NodeList.h   NodeList.h 
// //
// NodeList.h // NodeList.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/NodeList.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/NodeList.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: DOM // Module: DOM
// //
// Definition of the DOM NodeList interface. // Definition of the DOM NodeList interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 NotificationCenter.h   NotificationCenter.h 
// //
// NotificationCenter.h // NotificationCenter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NotificationCenter.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/NotificationCenter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: NotificationCenter // Module: NotificationCenter
// //
// Definition of the NotificationCenter class. // Definition of the NotificationCenter class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 NotificationStrategy.h   NotificationStrategy.h 
// //
// NotificationStrategy.h // NotificationStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NotificationStrategy.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/NotificationStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: NotificationStrategy // Module: NotificationStrategy
// //
// Definition of the NotificationStrategy interface. // Definition of the NotificationStrategy interface.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_NotificationStrategy_INCLUDED #ifndef Foundation_NotificationStrategy_INCLUDED
#define Foundation_NotificationStrategy_INCLUDED #define Foundation_NotificationStrategy_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <class TArgs, class TDelegate> template <class TArgs, class TDelegate>
class NotificationStrategy class NotificationStrategy
/// The interface that all notification strategies must implement. /// The interface that all notification strategies must implement.
///
/// Note: Event is based on policy-driven design, so your strategy i
mplementation
/// must offer all the methods from this interface (otherwise: compi
le errors)
/// but you don't need to inherit from NotificationStrategy.
{ {
public: public:
NotificationStrategy() NotificationStrategy()
{ {
} }
virtual ~NotificationStrategy() virtual ~NotificationStrategy()
{ {
} }
skipping to change at line 76 skipping to change at line 80
virtual void clear() = 0; virtual void clear() = 0;
/// Removes all delegates from the strategy. /// Removes all delegates from the strategy.
virtual bool empty() const = 0; virtual bool empty() const = 0;
/// Returns false if the strategy contains at least one dele gate. /// Returns false if the strategy contains at least one dele gate.
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_NotificationStrategy_INCLUDED
 End of changes. 4 change blocks. 
3 lines changed or deleted 9 lines changed or added


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


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


 NullStream.h   NullStream.h 
// //
// NullStream.h // NullStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NullStream.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/NullStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: NullStream // Module: NullStream
// //
// Definition of the NullStreamBuf, NullInputStream and NullOutputStream cl asses. // Definition of the NullStreamBuf, NullInputStream and NullOutputStream cl asses.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 NumberFormatter.h   NumberFormatter.h 
// //
// NumberFormatter.h // NumberFormatter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/NumberFormatter.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/NumberFormatter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: NumberFormatter // Module: NumberFormatter
// //
// Definition of the NumberFormatter class. // Definition of the NumberFormatter class.
// //
// Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Observer.h   Observer.h 
// //
// Observer.h // Observer.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Observer.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Observer.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: NotificationCenter // Module: NotificationCenter
// //
// Definition of the Observer class template. // Definition of the Observer class template.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 OpcomChannel.h   OpcomChannel.h 
// //
// OpcomChannel.h // OpcomChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/OpcomChannel.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/OpcomChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: OpcomChannel // Module: OpcomChannel
// //
// Definition of the OpcomChannel class specific to OpenVMS. // Definition of the OpcomChannel class specific to OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Option.h   Option.h 
// //
// Option.h // Option.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/Option.h#3 $ // $Id: //poco/1.4/Util/include/Poco/Util/Option.h#1 $
// //
// Library: Util // Library: Util
// Package: Options // Package: Options
// Module: Option // Module: Option
// //
// Definition of the Option class. // Definition of the Option class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


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


 ParserEngine.h   ParserEngine.h 
// //
// ParserEngine.h // ParserEngine.h
// //
// $Id: //poco/1.3/XML/include/Poco/XML/ParserEngine.h#3 $ // $Id: //poco/1.4/XML/include/Poco/XML/ParserEngine.h#1 $
// //
// Library: XML // Library: XML
// Package: XML // Package: XML
// Module: ParserEngine // Module: ParserEngine
// //
// Definition of the ParseEngine class. // Definition of the ParseEngine 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 41 skipping to change at line 41
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 XML_ParserEngine_INCLUDED #ifndef XML_ParserEngine_INCLUDED
#define XML_ParserEngine_INCLUDED #define XML_ParserEngine_INCLUDED
#include "Poco/XML/XML.h" #include "Poco/XML/XML.h"
#if defined(POCO_UNBUNDLED)
#include <expat.h>
#else
#include "Poco/XML/expat.h" #include "Poco/XML/expat.h"
#endif
#include "Poco/XML/XMLString.h" #include "Poco/XML/XMLString.h"
#include "Poco/XML/XMLStream.h" #include "Poco/XML/XMLStream.h"
#include "Poco/SAX/Locator.h" #include "Poco/SAX/Locator.h"
#include "Poco/TextEncoding.h" #include "Poco/TextEncoding.h"
#include <map> #include <map>
#include <vector> #include <vector>
namespace Poco { namespace Poco {
namespace XML { namespace XML {
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added


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


 PartSource.h   PartSource.h 
// //
// PartSource.h // PartSource.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/PartSource.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/PartSource.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Path.h   Path.h 
// //
// Path.h // Path.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Path.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Path.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Path // Module: Path
// //
// Definition of the Path class. // Definition of the Path class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Path_UNIX.h   Path_UNIX.h 
// //
// Path_UNIX.h // Path_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Path_UNIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Path_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Path // Module: Path
// //
// Definition of the PathImpl class fo rUnix. // Definition of the PathImpl class fo rUnix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Path_VMS.h   Path_VMS.h 
// //
// Path_VMS.h // Path_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Path_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Path_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Path // Module: Path
// //
// Definition of the PathImpl class for OpenVMS. // Definition of the PathImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Path_WIN32.h   Path_WIN32.h 
// //
// Path_WIN32.h // Path_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Path_WIN32.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Path_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Path // Module: Path
// //
// Definition of the PathImpl class for WIN32. // Definition of the PathImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Path_WIN32U.h   Path_WIN32U.h 
// //
// Path_WIN32U.h // Path_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Path_WIN32U.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Path_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Filesystem // Package: Filesystem
// Module: Path // Module: Path
// //
// Definition of the PathImpl class for WIN32. // Definition of the PathImpl class for WIN32.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PatternFormatter.h   PatternFormatter.h 
// //
// PatternFormatter.h // PatternFormatter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PatternFormatter.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/PatternFormatter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: PatternFormatter // Module: PatternFormatter
// //
// Definition of the PatternFormatter class. // Definition of the PatternFormatter 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 59 skipping to change at line 59
/// log messages based on format patterns. /// log messages based on format patterns.
/// ///
/// The format pattern is used as a template to format the message a nd /// The format pattern is used as a template to format the message a nd
/// is copied character by character except for the following specia l characters, /// is copied character by character except for the following specia l characters,
/// which are replaced by the corresponding value. /// which are replaced by the corresponding value.
/// ///
/// * %s - message source /// * %s - message source
/// * %t - message text /// * %t - message text
/// * %l - message priority level (1 .. 7) /// * %l - message priority level (1 .. 7)
/// * %p - message priority (Fatal, Critical, Error, Warning, Noti ce, Information, Debug, Trace) /// * %p - message priority (Fatal, Critical, Error, Warning, Noti ce, Information, Debug, Trace)
/// * %q - abbreviated message priority (F, C, E, W,N, I, D, T) /// * %q - abbreviated message priority (F, C, E, W, N, I, D, T)
/// * %P - message process identifier /// * %P - message process identifier
/// * %T - message thread name /// * %T - message thread name
/// * %I - message thread identifier (numeric) /// * %I - message thread identifier (numeric)
/// * %N - node or host name /// * %N - node or host name
/// * %U - message source file path (empty string if not set)
/// * %u - message source line number (0 if not set)
/// * %w - message date/time abbreviated weekday (Mon, Tue, ...) /// * %w - message date/time abbreviated weekday (Mon, Tue, ...)
/// * %W - message date/time full weekday (Monday, Tuesday, ...) /// * %W - message date/time full weekday (Monday, Tuesday, ...)
/// * %b - message date/time abbreviated month (Jan, Feb, ...) /// * %b - message date/time abbreviated month (Jan, Feb, ...)
/// * %B - message date/time full month (January, February, ...) /// * %B - message date/time full month (January, February, ...)
/// * %d - message date/time zero-padded day of month (01 .. 31) /// * %d - message date/time zero-padded day of month (01 .. 31)
/// * %e - message date/time day of month (1 .. 31) /// * %e - message date/time day of month (1 .. 31)
/// * %f - message date/time space-padded day of month ( 1 .. 31) /// * %f - message date/time space-padded day of month ( 1 .. 31)
/// * %m - message date/time zero-padded month (01 .. 12) /// * %m - message date/time zero-padded month (01 .. 12)
/// * %n - message date/time month (1 .. 12) /// * %n - message date/time month (1 .. 12)
/// * %o - message date/time space-padded month ( 1 .. 12) /// * %o - message date/time space-padded month ( 1 .. 12)
skipping to change at line 133 skipping to change at line 135
/// throws a PropertyNotSupported exception if the given /// throws a PropertyNotSupported exception if the given
/// name is not recognized. /// name is not recognized.
static const std::string PROP_PATTERN; static const std::string PROP_PATTERN;
static const std::string PROP_TIMES; static const std::string PROP_TIMES;
protected: protected:
static const std::string& getPriorityName(int); static const std::string& getPriorityName(int);
/// Returns a string for the given priority value. /// Returns a string for the given priority value.
static void fmt(std::string& str, int value);
static void fmt(std::string& str, int value, int width);
static void fmt0(std::string& str, int value, int width);
private: private:
bool _localTime; bool _localTime;
std::string _pattern; std::string _pattern;
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_PatternFormatter_INCLUDED #endif // Foundation_PatternFormatter_INCLUDED
 End of changes. 4 change blocks. 
6 lines changed or deleted 4 lines changed or added


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


 PipeImpl.h   PipeImpl.h 
// //
// PipeImpl.h // PipeImpl.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PipeImpl.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/PipeImpl.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: PipeImpl // Module: PipeImpl
// //
// Definition of the PipeImpl class. // Definition of the PipeImpl 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 Foundation_PipeImpl_INCLUDED #ifndef Foundation_PipeImpl_INCLUDED
#define Foundation_PipeImpl_INCLUDED #define Foundation_PipeImpl_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#if defined(POCO_OS_FAMILY_WINDOWS) #if defined(POCO_OS_FAMILY_WINDOWS)
#if defined(_WIN32_WCE)
#include "PipeImpl_DUMMY.h"
#else
#include "Poco/PipeImpl_WIN32.h" #include "Poco/PipeImpl_WIN32.h"
#endif
#elif defined(POCO_OS_FAMILY_UNIX) #elif defined(POCO_OS_FAMILY_UNIX)
#include "Poco/PipeImpl_POSIX.h" #include "Poco/PipeImpl_POSIX.h"
#else #else
#include "Poco/PipeImpl_DUMMY.h" #include "Poco/PipeImpl_DUMMY.h"
#endif #endif
#endif // Foundation_PipeImpl_INCLUDED #endif // Foundation_PipeImpl_INCLUDED
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added


 PipeImpl_DUMMY.h   PipeImpl_DUMMY.h 
// //
// PipeImpl_DUMMY.h // PipeImpl_DUMMY.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PipeImpl_DUMMY.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/PipeImpl_DUMMY.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: PipeImpl // Module: PipeImpl
// //
// Definition of the PipeImpl_DUMMY class. // Definition of the PipeImpl_DUMMY class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PipeImpl_POSIX.h   PipeImpl_POSIX.h 
// //
// PipeImpl_POSIX.h // PipeImpl_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PipeImpl_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/PipeImpl_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: PipeImpl // Module: PipeImpl
// //
// Definition of the PipeImpl class for POSIX. // Definition of the PipeImpl class for POSIX.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PipeImpl_WIN32.h   PipeImpl_WIN32.h 
// //
// PipeImpl_WIN32.h // PipeImpl_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PipeImpl_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/PipeImpl_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: PipeImpl // Module: PipeImpl
// //
// Definition of the PipeImpl class for WIN32. // Definition of the PipeImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Platform.h   Platform.h 
// //
// Platform.h // Platform.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Platform.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Platform.h#1 $
// //
// 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 134 skipping to change at line 134
#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
#define POCO_ARCH_PPC 0x06 #define POCO_ARCH_PPC 0x06
#define POCO_ARCH_POWER 0x07 #define POCO_ARCH_POWER 0x07
#define POCO_ARCH_SPARC 0x08 #define POCO_ARCH_SPARC 0x08
#define POCO_ARCH_AMD64 0x09 #define POCO_ARCH_AMD64 0x09
#define POCO_ARCH_ARM 0x0a #define POCO_ARCH_ARM 0x0a
#define POCO_ARCH_M68K 0x0b #define POCO_ARCH_M68K 0x0b
#define POCO_ARCH_S390 0x0c #define POCO_ARCH_S390 0x0c
#define POCO_ARCH_SH 0x0d
#if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_ M_ALPHA) #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_ M_ALPHA)
#define POCO_ARCH POCO_ARCH_ALPHA #define POCO_ARCH POCO_ARCH_ALPHA
#define POCO_ARCH_LITTLE_ENDIAN 1 #define POCO_ARCH_LITTLE_ENDIAN 1
#elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_I X86) #elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_I X86)
#define POCO_ARCH POCO_ARCH_IA32 #define POCO_ARCH POCO_ARCH_IA32
#define POCO_ARCH_LITTLE_ENDIAN 1 #define POCO_ARCH_LITTLE_ENDIAN 1
#elif defined(_IA64) || defined(__IA64__) || defined(__ia64__) || defined(_ _ia64) || defined(_M_IA64) #elif defined(_IA64) || defined(__IA64__) || defined(__ia64__) || defined(_ _ia64) || defined(_M_IA64)
#define POCO_ARCH POCO_ARCH_IA64 #define POCO_ARCH POCO_ARCH_IA64
#if defined(hpux) || defined(_hpux) #if defined(hpux) || defined(_hpux)
skipping to change at line 176 skipping to change at line 177
#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)
#define POCO_ARCH POCO_ARCH_ARM #define POCO_ARCH POCO_ARCH_ARM
#if defined(__ARMEB__) #if defined(__ARMEB__)
#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__)
#define POCO_ARCH POCO_ARCH_SH
#if defined(__LITTLE_ENDIAN__)
#define POCO_ARCH_LITTLE_ENDIAN 1
#else
#define POCO_ARCH_BIG_ENDIAN 1
#endif
#endif #endif
#endif // Foundation_Platform_INCLUDED #endif // Foundation_Platform_INCLUDED
 End of changes. 4 change blocks. 
5 lines changed or deleted 13 lines changed or added


 Platform_POSIX.h   Platform_POSIX.h 
// //
// Platform_POSIX.h // Platform_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Platform_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Platform_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Platform // Module: Platform
// //
// Platform and architecture identification macros // Platform and architecture identification macros
// and platform-specific definitions for various POSIX platforms // and platform-specific definitions for various POSIX platforms
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Platform_VMS.h   Platform_VMS.h 
// //
// Platform_VMS.h // Platform_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Platform_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Platform_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Platform // Module: Platform
// //
// Platform and architecture identification macros // Platform and architecture identification macros
// and platform-specific definitions for OpenVMS. // and platform-specific definitions for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Platform_WIN32.h   Platform_WIN32.h 
// //
// Platform_WIN32.h // Platform_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Platform_WIN32.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/Platform_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Platform // Module: Platform
// //
// Platform and architecture identification macros // Platform and architecture identification macros
// and platform-specific definitions for Windows. // and platform-specific definitions for Windows.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
skipping to change at line 76 skipping to change at line 76
#endif #endif
// Turn off some annoying warnings // Turn off some annoying warnings
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma warning(disable:4018) // signed/unsigned comparison #pragma warning(disable:4018) // signed/unsigned comparison
#pragma warning(disable:4251) // ... needs to have dll-interface war ning #pragma warning(disable:4251) // ... needs to have dll-interface war ning
#pragma warning(disable:4355) // 'this' : used in base member initia lizer list #pragma warning(disable:4355) // 'this' : used in base member initia lizer list
#pragma warning(disable:4996) // VC++ 8.0 deprecation warnings #pragma warning(disable:4996) // VC++ 8.0 deprecation warnings
#pragma warning(disable:4351) // new behavior: elements of array '.. .' will be default initialized #pragma warning(disable:4351) // new behavior: elements of array '.. .' will be default initialized
#pragma warning(disable:4675) // resolved overload was found by argu ment-dependent lookup #pragma warning(disable:4675) // resolved overload was found by argu ment-dependent lookup
#pragma warning(disable:4275) // non dll-interface class 'std::excep tion' used as base for dll-interface class 'Poco::Exception'
#endif #endif
#if defined(__INTEL_COMPILER) #if defined(__INTEL_COMPILER)
#pragma warning(disable:1738) // base class dllexport/dllimport spec ification differs from that of the derived class #pragma warning(disable:1738) // base class dllexport/dllimport spec ification differs from that of the derived class
#pragma warning(disable:1478) // function ... was declared "deprecat ed" #pragma warning(disable:1478) // function ... was declared "deprecat ed"
#pragma warning(disable:1744) // field of class type without a DLL i nterface used in a class with a DLL interface #pragma warning(disable:1744) // field of class type without a DLL i nterface used in a class with a DLL interface
#endif #endif
#endif // Foundation_Platform_WIN32_INCLUDED #endif // Foundation_Platform_WIN32_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 Poco.h   Poco.h 
// //
// Poco.h // Poco.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Poco.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Poco.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Foundation // Module: Foundation
// //
// Basic definitions for the POCO libraries. // Basic definitions for the POCO libraries.
// //
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PriorityDelegate.h   PriorityDelegate.h 
// //
// PriorityDelegate.h // PriorityDelegate.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PriorityDelegate.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/PriorityDelegate.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: PriorityDelegate // Module: PriorityDelegate
// //
// Implementation of the PriorityDelegate template. // Implementation of the PriorityDelegate template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_PriorityDelegate_INCLUDED #ifndef Foundation_PriorityDelegate_INCLUDED
#define Foundation_PriorityDelegate_INCLUDED #define Foundation_PriorityDelegate_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/AbstractPriorityDelegate.h" #include "Poco/AbstractPriorityDelegate.h"
#include "Poco/PriorityExpire.h" #include "Poco/PriorityExpire.h"
#include "Poco/FunctionPriorityDelegate.h" #include "Poco/FunctionPriorityDelegate.h"
namespace Poco { namespace Poco {
template <class TObj, class TArgs, bool useSender = true> template <class TObj, class TArgs, bool useSender = true>
class PriorityDelegate: public AbstractPriorityDelegate<TArgs> class PriorityDelegate: public AbstractPriorityDelegate<TArgs>
skipping to change at line 220 skipping to change at line 220
} }
template <class TArgs> template <class TArgs>
static FunctionPriorityDelegate<TArgs, false> priorityDelegate(void (*Notif yMethod)(TArgs&), int prio) static FunctionPriorityDelegate<TArgs, false> priorityDelegate(void (*Notif yMethod)(TArgs&), int prio)
{ {
return FunctionPriorityDelegate<TArgs, false>(NotifyMethod, prio); return FunctionPriorityDelegate<TArgs, false>(NotifyMethod, prio);
} }
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_PriorityDelegate_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 PriorityEvent.h   PriorityEvent.h 
// //
// PriorityEvent.h // PriorityEvent.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PriorityEvent.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/PriorityEvent.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: PriorityEvent // Module: PriorityEvent
// //
// Implementation of the PriorityEvent template. // Implementation of the PriorityEvent template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_PriorityEvent_INCLUDED #ifndef Foundation_PriorityEvent_INCLUDED
#define Foundation_PriorityEvent_INCLUDED #define Foundation_PriorityEvent_INCLUDED
#include "Poco/AbstractEvent.h" #include "Poco/AbstractEvent.h"
#include "Poco/DefaultStrategy.h" #include "Poco/DefaultStrategy.h"
#include "Poco/AbstractPriorityDelegate.h" #include "Poco/AbstractPriorityDelegate.h"
#include "Poco/CompareFunctions.h" #include "Poco/CompareFunctions.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs, class TMutex = FastMutex>
class PriorityEvent: public AbstractEvent < class PriorityEvent: public AbstractEvent <
TArgs, TArgs,
DefaultStrategy<TArgs, AbstractPriorityDelegate< TArgs>, p_less<Abst DefaultStrategy<TArgs, AbstractPriorityDelegate<TArgs>, p_less<Abstr
ractPriorityDelegate<TArgs> > >, actPriorityDelegate<TArgs> > >,
AbstractPriorityDelegate<TArgs> AbstractPriorityDelegate<TArgs>,
TMutex
> >
/// A PriorityEvent uses internally a DefaultStrategy which /// A PriorityEvent uses internally a DefaultStrategy which
/// invokes delegates in a manner determined by the priority field /// invokes delegates in a manner determined by the priority field
/// in the PriorityDelegates (lower priorities first). /// in the PriorityDelegates (lower priorities first).
/// PriorityEvents can only be used together with PriorityDelegates. /// PriorityEvents can only be used together with PriorityDelegates.
/// PriorityDelegates are sorted according to the priority value, wh en /// PriorityDelegates are sorted according to the priority value, wh en
/// two delegates have the same priority, they are invoked in /// two delegates have the same priority, they are invoked in
/// an arbitrary manner. /// an arbitrary manner.
/// Note that one object can register several methods as long as the y differ /// Note that one object can register several methods as long as the y differ
/// in their priority value: /// in their priority value:
skipping to change at line 78 skipping to change at line 79
public: public:
PriorityEvent() PriorityEvent()
{ {
} }
~PriorityEvent() ~PriorityEvent()
{ {
} }
private: private:
PriorityEvent(const PriorityEvent& e); PriorityEvent(const PriorityEvent&);
PriorityEvent& operator = (const PriorityEvent& e); PriorityEvent& operator = (const PriorityEvent&);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_PriorityEvent_INCLUDED
 End of changes. 6 change blocks. 
9 lines changed or deleted 10 lines changed or added


 PriorityExpire.h   PriorityExpire.h 
// //
// PriorityExpire.h // PriorityExpire.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PriorityExpire.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/PriorityExpire.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Events // Package: Events
// Module: PriorityExpire // Module: PriorityExpire
// //
// Implementation of the PriorityExpire template. // Implementation of the PriorityExpire template.
// //
// 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_PriorityExpire_INCLUDED #ifndef Foundation_PriorityExpire_INCLUDED
#define Foundation_PriorityExpire_INCLUDED #define Foundation_PriorityExpire_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/AbstractPriorityDelegate.h" #include "Poco/AbstractPriorityDelegate.h"
namespace Poco { namespace Poco {
template <class TArgs> template <class TArgs>
class PriorityExpire: public AbstractPriorityDelegate<TArgs> class PriorityExpire: public AbstractPriorityDelegate<TArgs>
/// Decorator for AbstractPriorityDelegate adding automatic /// Decorator for AbstractPriorityDelegate adding automatic
skipping to change at line 126 skipping to change at line 126
AbstractPriorityDelegate<TArgs>* _pDelegate; AbstractPriorityDelegate<TArgs>* _pDelegate;
Timestamp::TimeDiff _expire; Timestamp::TimeDiff _expire;
Timestamp _creationTime; Timestamp _creationTime;
private: private:
PriorityExpire(); PriorityExpire();
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_PriorityExpire_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 PriorityNotificationQueue.h   PriorityNotificationQueue.h 
// //
// PriorityNotificationQueue.h // PriorityNotificationQueue.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PriorityNotificationQueue.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/PriorityNotificationQueue.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: PriorityNotificationQueue // Module: PriorityNotificationQueue
// //
// Definition of the PriorityNotificationQueue class. // Definition of the PriorityNotificationQueue class.
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Process.h   Process.h 
// //
// Process.h // Process.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Process.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Process.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: Process // Module: Process
// //
// Definition of the Process class. // Definition of the Process 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 Foundation_Process_INCLUDED #ifndef Foundation_Process_INCLUDED
#define Foundation_Process_INCLUDED #define Foundation_Process_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) #if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8)
#if defined(_WIN32_WCE)
#include "Process_WINCE.h"
#else
#include "Poco/Process_WIN32U.h" #include "Poco/Process_WIN32U.h"
#endif
#elif defined(POCO_OS_FAMILY_WINDOWS) #elif defined(POCO_OS_FAMILY_WINDOWS)
#include "Poco/Process_WIN32.h" #include "Poco/Process_WIN32.h"
#elif defined(POCO_OS_FAMILY_UNIX) #elif defined(POCO_OS_FAMILY_UNIX)
#include "Poco/Process_UNIX.h" #include "Poco/Process_UNIX.h"
#else #else
#include "Poco/Process_VMS.h" #include "Poco/Process_VMS.h"
#endif #endif
namespace Poco { namespace Poco {
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added


 Process_UNIX.h   Process_UNIX.h 
// //
// Process_UNIX.h // Process_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Process_UNIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Process_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: Process // Module: Process
// //
// Definition of the ProcessImpl class for Unix. // Definition of the ProcessImpl class for Unix.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Process_VMS.h   Process_VMS.h 
// //
// Process_VMS.h // Process_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Process_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Process_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: Process // Module: Process
// //
// Definition of the ProcessImpl class for OpenVMS. // Definition of the ProcessImpl class for OpenVMS.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Process_WIN32.h   Process_WIN32.h 
// //
// Process_WIN32.h // Process_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Process_WIN32.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Process_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: Process // Module: Process
// //
// Definition of the ProcessImpl class for WIN32. // Definition of the ProcessImpl class for WIN32.
// //
// 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 78 skipping to change at line 78
{ {
public: public:
typedef UInt32 PIDImpl; typedef UInt32 PIDImpl;
typedef std::vector<std::string> ArgsImpl; typedef std::vector<std::string> ArgsImpl;
static PIDImpl idImpl(); static PIDImpl idImpl();
static void timesImpl(long& userTime, long& kernelTime); static void timesImpl(long& userTime, long& kernelTime);
static ProcessHandleImpl* launchImpl(const std::string& command, con st ArgsImpl& args, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe); static ProcessHandleImpl* launchImpl(const std::string& command, con st ArgsImpl& args, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe);
static void killImpl(PIDImpl pid); static void killImpl(PIDImpl pid);
static void requestTerminationImpl(PIDImpl pid); static void requestTerminationImpl(PIDImpl pid);
static std::string terminationEventName(PIDImpl pid);
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_Process_WIN32_INCLUDED #endif // Foundation_Process_WIN32_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 Process_WIN32U.h   Process_WIN32U.h 
// //
// Process_WIN32U.h // Process_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Process_WIN32U.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Process_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: Process // Module: Process
// //
// Definition of the ProcessImpl class for WIN32. // Definition of the ProcessImpl class for WIN32.
// //
// 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 78 skipping to change at line 78
{ {
public: public:
typedef UInt32 PIDImpl; typedef UInt32 PIDImpl;
typedef std::vector<std::string> ArgsImpl; typedef std::vector<std::string> ArgsImpl;
static PIDImpl idImpl(); static PIDImpl idImpl();
static void timesImpl(long& userTime, long& kernelTime); static void timesImpl(long& userTime, long& kernelTime);
static ProcessHandleImpl* launchImpl(const std::string& command, con st ArgsImpl& args, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe); static ProcessHandleImpl* launchImpl(const std::string& command, con st ArgsImpl& args, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe);
static void killImpl(PIDImpl pid); static void killImpl(PIDImpl pid);
static void requestTerminationImpl(PIDImpl pid); static void requestTerminationImpl(PIDImpl pid);
static std::string terminationEventName(PIDImpl pid);
}; };
} // namespace Poco } // namespace Poco
#endif // Foundation_Process_WIN32U_INCLUDED #endif // Foundation_Process_WIN32U_INCLUDED
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


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


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


 PurgeStrategy.h   PurgeStrategy.h 
// //
// PurgeStrategy.h // PurgeStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/PurgeStrategy.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/PurgeStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: FileChannel // Module: FileChannel
// //
// Definition of the PurgeStrategy class. // Definition of the PurgeStrategy class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 QuotedPrintableDecoder.h   QuotedPrintableDecoder.h 
// //
// QuotedPrintableDecoder.h // QuotedPrintableDecoder.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/QuotedPrintableDecoder.h#1 $ // $Id: //poco/1.4/Net/include/Poco/Net/QuotedPrintableDecoder.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 RWLock_POSIX.h   RWLock_POSIX.h 
// //
// RWLock_POSIX.h // RWLock_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RWLock_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/RWLock_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: RWLock // Module: RWLock
// //
// Definition of the RWLockImpl class for POSIX Threads. // Definition of the RWLockImpl class for POSIX Threads.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RWLock_WIN32.h   RWLock_WIN32.h 
// //
// RWLock_WIN32.h // RWLock_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RWLock_WIN32.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/RWLock_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: RWLock // Module: RWLock
// //
// Definition of the RWLockImpl class for WIN32. // Definition of the RWLockImpl class for WIN32.
// //
// 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 61 skipping to change at line 61
~RWLockImpl(); ~RWLockImpl();
void readLockImpl(); void readLockImpl();
bool tryReadLockImpl(); bool tryReadLockImpl();
void writeLockImpl(); void writeLockImpl();
bool tryWriteLockImpl(); bool tryWriteLockImpl();
void unlockImpl(); void unlockImpl();
private: private:
void addWriter(); void addWriter();
void removeWriter(); void removeWriter();
DWORD tryReadLockOnce();
HANDLE _mutex; HANDLE _mutex;
HANDLE _readEvent; HANDLE _readEvent;
HANDLE _writeEvent; HANDLE _writeEvent;
unsigned _readers; unsigned _readers;
unsigned _writersWaiting; unsigned _writersWaiting;
unsigned _writers; unsigned _writers;
}; };
} // namespace Poco } // namespace Poco
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


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


 RandomStream.h   RandomStream.h 
// //
// RandomStream.h // RandomStream.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RandomStream.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/RandomStream.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Crypt // Package: Crypt
// Module: RandomStream // Module: RandomStream
// //
// Definition of class RandomInputStream. // Definition of class RandomInputStream.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 RefCountedObject.h   RefCountedObject.h 
// //
// RefCountedObject.h // RefCountedObject.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RefCountedObject.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/RefCountedObject.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: RefCountedObject // Module: RefCountedObject
// //
// Definition of the RefCountedObject class. // Definition of the RefCountedObject class.
// //
// Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 RegularExpression.h   RegularExpression.h 
// //
// RegularExpression.h // RegularExpression.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RegularExpression.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/RegularExpression.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: RegExp // Package: RegExp
// Module: RegularExpression // Module: RegularExpression
// //
// Definitions of class RegularExpression. // Definitions of class RegularExpression.
// //
// A wrapper class for Philip Hazel's PCRE - Perl Compatible Regular Expres sions // A wrapper class for Philip Hazel's PCRE - Perl Compatible Regular Expres sions
// library (http://www.pcre.org). // library (http://www.pcre.org).
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RemoteSyslogChannel.h   RemoteSyslogChannel.h 
// //
// RemoteSyslogChannel.h // RemoteSyslogChannel.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/RemoteSyslogChannel.h#2 $ // $Id: //poco/1.4/Net/include/Poco/Net/RemoteSyslogChannel.h#1 $
// //
// Library: Net // Library: Net
// Package: Logging // Package: Logging
// Module: RemoteSyslogChannel // Module: RemoteSyslogChannel
// //
// Definition of the RemoteSyslogChannel class. // Definition of the RemoteSyslogChannel 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 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 Net_RemoteSyslogChannel_INCLUDED #ifndef Net_RemoteSyslogChannel_INCLUDED
#define Net_RemoteSyslogChannel_INCLUDED #define Net_RemoteSyslogChannel_INCLUDED
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/Channel.h" #include "Poco/Channel.h"
#include "Poco/Mutex.h"
#include "Poco/Net/DatagramSocket.h" #include "Poco/Net/DatagramSocket.h"
#include "Poco/Net/SocketAddress.h"
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class Net_API RemoteSyslogChannel: public Poco::Channel class Net_API RemoteSyslogChannel: public Poco::Channel
/// This Channel implements remote syslog logging over UDP according /// This Channel implements remote syslog logging over UDP according
/// to the syslog Working Group Internet Draft: /// to the syslog Working Group Internet Draft:
/// "The syslog Protocol" <http://www.ietf.org/internet-drafts/draft -ietf-syslog-protocol-17.txt>, /// "The syslog Protocol" <http://www.ietf.org/internet-drafts/draft -ietf-syslog-protocol-17.txt>,
/// and "Transmission of syslog messages over UDP" <http://www.ietf. org/internet-drafts/draft-ietf-syslog-transport-udp-07.txt>. /// and "Transmission of syslog messages over UDP" <http://www.ietf. org/internet-drafts/draft-ietf-syslog-transport-udp-07.txt>.
/// ///
skipping to change at line 158 skipping to change at line 160
~RemoteSyslogChannel(); ~RemoteSyslogChannel();
static int getPrio(const Message& msg); static int getPrio(const Message& msg);
private: private:
std::string _logHost; std::string _logHost;
std::string _name; std::string _name;
std::string _host; std::string _host;
int _facility; int _facility;
bool _bsdFormat; bool _bsdFormat;
DatagramSocket _socket; DatagramSocket _socket;
SocketAddress _socketAddress;
bool _open; bool _open;
mutable Poco::FastMutex _mutex;
}; };
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_RemoteSyslogChannel_INCLUDED #endif // Net_RemoteSyslogChannel_INCLUDED
 End of changes. 5 change blocks. 
1 lines changed or deleted 5 lines changed or added


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


 RotateStrategy.h   RotateStrategy.h 
// //
// RotateStrategy.h // RotateStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RotateStrategy.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/RotateStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: FileChannel // Module: FileChannel
// //
// Definition of the RotateStrategy class and subclasses. // Definition of the RotateStrategy class and subclasses.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Runnable.h   Runnable.h 
// //
// Runnable.h // Runnable.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Runnable.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Runnable.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the Runnable class. // Definition of the Runnable class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RunnableAdapter.h   RunnableAdapter.h 
// //
// RunnableAdapter.h // RunnableAdapter.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/RunnableAdapter.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/RunnableAdapter.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the RunnableAdapter template class. // Definition of the RunnableAdapter template class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SAXException.h   SAXException.h 
// //
// SAXException.h // SAXException.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/SAXException.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/SAXException.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX exception classes. // SAX exception classes.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SAXParser.h   SAXParser.h 
// //
// SAXParser.h // SAXParser.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/SAXParser.h#3 $ // $Id: //poco/1.4/XML/include/Poco/SAX/SAXParser.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// Implementation of the XMLReader interface. // Implementation of the XMLReader interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SHA1Engine.h   SHA1Engine.h 
// //
// SHA1Engine.h // SHA1Engine.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SHA1Engine.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SHA1Engine.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Crypt // Package: Crypt
// Module: SHA1Engine // Module: SHA1Engine
// //
// Definition of class SHA1Engine. // Definition of class SHA1Engine.
// //
// Secure Hash Standard SHA-1 algorithm // Secure Hash Standard SHA-1 algorithm
// (FIPS 180-1, see http://www.itl.nist.gov/fipspubs/fip180-1.htm) // (FIPS 180-1, see http://www.itl.nist.gov/fipspubs/fip180-1.htm)
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SMTPClientSession.h   SMTPClientSession.h 
// //
// SMTPClientSession.h // SMTPClientSession.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/SMTPClientSession.h#5 $ // $Id: //poco/1.4/Net/include/Poco/Net/SMTPClientSession.h#1 $
// //
// Library: Net // Library: Net
// Package: Mail // Package: Mail
// Module: SMTPClientSession // Module: SMTPClientSession
// //
// Definition of the SMTPClientSession class. // Definition of the SMTPClientSession class.
// //
// Copyright (c) 2005-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2008, 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 Net_SMTPClientSession_INCLUDED #ifndef Net_SMTPClientSession_INCLUDED
#define Net_SMTPClientSession_INCLUDED #define Net_SMTPClientSession_INCLUDED
#include "Poco/Net/Net.h" #include "Poco/Net/Net.h"
#include "Poco/Net/DialogSocket.h" #include "Poco/Net/DialogSocket.h"
#include "Poco/DigestEngine.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class MailMessage; class MailMessage;
class Net_API SMTPClientSession class Net_API SMTPClientSession
/// This class implements an Simple Mail /// This class implements an Simple Mail
/// Transfer Procotol (SMTP, RFC 2821) /// Transfer Procotol (SMTP, RFC 2821)
skipping to change at line 65 skipping to change at line 66
public: public:
enum enum
{ {
SMTP_PORT = 25 SMTP_PORT = 25
}; };
enum LoginMethod enum LoginMethod
{ {
AUTH_NONE, AUTH_NONE,
AUTH_CRAM_MD5, AUTH_CRAM_MD5,
AUTH_LOGIN AUTH_CRAM_SHA1,
AUTH_LOGIN,
AUTH_PLAIN
}; };
explicit SMTPClientSession(const StreamSocket& socket); explicit SMTPClientSession(const StreamSocket& socket);
/// Creates the SMTPClientSession using /// Creates the SMTPClientSession using
/// the given socket, which must be connected /// the given socket, which must be connected
/// to a SMTP server. /// to a SMTP server.
SMTPClientSession(const std::string& host, Poco::UInt16 port = SMTP_ PORT); SMTPClientSession(const std::string& host, Poco::UInt16 port = SMTP_ PORT);
/// Creates the SMTPClientSession using a socket connected /// Creates the SMTPClientSession using a socket connected
/// to the given host and port. /// to the given host and port.
skipping to change at line 99 skipping to change at line 102
/// ///
/// If the server does not understand the EHLO command, /// If the server does not understand the EHLO command,
/// a HELO command is sent instead. /// a HELO command is sent instead.
/// ///
/// Throws a SMTPException in case of a SMTP-specific error, or a /// Throws a SMTPException in case of a SMTP-specific error, or a
/// NetException in case of a general network communication failure. /// NetException in case of a general network communication failure.
void login(); void login();
/// Calls login(hostname) with the current host name. /// Calls login(hostname) with the current host name.
void login(const std::string& hostname, LoginMethod loginMethod, con
st std::string& username, const std::string& password);
/// Logs in to the SMTP server using the given authenticatio
n method and the given
/// credentials.
void login(LoginMethod loginMethod, const std::string& username, con st std::string& password); void login(LoginMethod loginMethod, const std::string& username, con st std::string& password);
/// Logs in to the SMTP server using the given authenticatio n method and the given /// Logs in to the SMTP server using the given authenticatio n method and the given
/// credentials. /// credentials.
void open(); void open();
/// Reads the initial response from the SMTP server. /// Reads the initial response from the SMTP server.
/// ///
/// Usually called implicitly through login(), but can /// Usually called implicitly through login(), but can
/// also be called explicitly to implement different forms /// also be called explicitly to implement different forms
/// of SMTP authentication. /// of SMTP authentication.
skipping to change at line 159 skipping to change at line 166
{ {
DEFAULT_TIMEOUT = 30000000 // 30 seconds default timeout for socket operations DEFAULT_TIMEOUT = 30000000 // 30 seconds default timeout for socket operations
}; };
static bool isPositiveCompletion(int status); static bool isPositiveCompletion(int status);
static bool isPositiveIntermediate(int status); static bool isPositiveIntermediate(int status);
static bool isTransientNegative(int status); static bool isTransientNegative(int status);
static bool isPermanentNegative(int status); static bool isPermanentNegative(int status);
void login(const std::string& hostname, std::string& response); void login(const std::string& hostname, std::string& response);
void loginUsingCRAM_MD5(const std::string& username, const std::stri void loginUsingCRAMMD5(const std::string& username, const std::strin
ng& password); g& password);
void loginUsingCRAMSHA1(const std::string& username, const std::stri
ng& password);
void loginUsingCRAM(const std::string& username, const std::string&
method, Poco::DigestEngine& hmac);
void loginUsingLogin(const std::string& username, const std::string& password); void loginUsingLogin(const std::string& username, const std::string& password);
void loginUsingPlain(const std::string& username, const std::string& password); void loginUsingPlain(const std::string& username, const std::string& password);
DialogSocket& socket();
private: private:
DialogSocket _socket; DialogSocket _socket;
bool _isOpen; bool _isOpen;
}; };
// //
// inlines // inlines
// //
inline bool SMTPClientSession::isPositiveCompletion(int status) inline bool SMTPClientSession::isPositiveCompletion(int status)
skipping to change at line 191 skipping to change at line 201
inline bool SMTPClientSession::isTransientNegative(int status) inline bool SMTPClientSession::isTransientNegative(int status)
{ {
return status/100 == SMTP_TRANSIENT_NEGATIVE; return status/100 == SMTP_TRANSIENT_NEGATIVE;
} }
inline bool SMTPClientSession::isPermanentNegative(int status) inline bool SMTPClientSession::isPermanentNegative(int status)
{ {
return status/100 == SMTP_PERMANENT_NEGATIVE; return status/100 == SMTP_PERMANENT_NEGATIVE;
} }
inline DialogSocket& SMTPClientSession::socket()
{
return _socket;
}
} } // namespace Poco::Net } } // namespace Poco::Net
#endif // Net_SMTPClientSession_INCLUDED #endif // Net_SMTPClientSession_INCLUDED
 End of changes. 7 change blocks. 
4 lines changed or deleted 23 lines changed or added


 ScopedLock.h   ScopedLock.h 
// //
// ScopedLock.h // ScopedLock.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ScopedLock.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/ScopedLock.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Mutex // Module: Mutex
// //
// Definition of the ScopedLock template class. // Definition of the ScopedLock template class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ScopedUnlock.h   ScopedUnlock.h 
// //
// ScopedUnlock.h // ScopedUnlock.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ScopedUnlock.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/ScopedUnlock.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Mutex // Module: Mutex
// //
// Definition of the ScopedUnlock template class. // Definition of the ScopedUnlock template class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Semaphore_POSIX.h   Semaphore_POSIX.h 
// //
// Semaphore_POSIX.h // Semaphore_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Semaphore_POSIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Semaphore_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Semaphore // Module: Semaphore
// //
// Definition of the SemaphoreImpl class for POSIX Threads. // Definition of the SemaphoreImpl class for POSIX Threads.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Semaphore_WIN32.h   Semaphore_WIN32.h 
// //
// Semaphore_WIN32.h // Semaphore_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Semaphore_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Semaphore_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Semaphore // Module: Semaphore
// //
// Definition of the SemaphoreImpl class for WIN32. // Definition of the SemaphoreImpl class for WIN32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ServerApplication.h   ServerApplication.h 
// //
// ServerApplication.h // ServerApplication.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/ServerApplication.h#4 $ // $Id: //poco/1.4/Util/include/Poco/Util/ServerApplication.h#1 $
// //
// 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"
#include "Poco/NamedEvent.h"
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
/// without the need to add extra code. /// without the need to add extra code.
/// ///
/// For a ServerApplication to work both from the command line /// For a ServerApplication to work both from the command line
/// and as a daemon or service, a few rules must be met: /// and as a daemon or service, a few rules must be met:
/// - Subsystems must be registered in the constructor. /// - Subsystems must be registered in the constructor.
/// - All non-trivial initializations must be made in the /// - All non-trivial initializations must be made in the
/// initialize() method. /// initialize() method.
/// - At the end of the main() method, waitForTerminationRequest() /// - At the end of the main() method, waitForTerminationRequest()
/// should be called. /// should be called.
/// - New threads must only be created in initialize() or main() o
r
/// methods called from there, but not in the application class'
/// constructor or in the constructor of instance variables.
/// The reason for this is that fork() will be called in order t
o
/// create the daemon process, and threads created prior to call
ing
/// fork() won't be taken over to the daemon process.
/// - The main(argc, argv) function must look as follows: /// - The main(argc, argv) function must look as follows:
/// ///
/// int main(int argc, char** argv) /// int main(int argc, char** argv)
/// { /// {
/// MyServerApplication app; /// MyServerApplication app;
/// return app.run(argc, argv); /// return app.run(argc, argv);
/// } /// }
/// ///
/// The POCO_SERVER_MAIN macro can be used to implement main(argc, a rgv). /// The POCO_SERVER_MAIN macro can be used to implement main(argc, a rgv).
/// If POCO has been built with POCO_WIN32_UTF8, POCO_SERVER_MAIN su pports /// If POCO has been built with POCO_WIN32_UTF8, POCO_SERVER_MAIN su pports
skipping to change at line 88 skipping to change at line 95
/// ///
/// To run an application as a Windows service, it must be registere d /// To run an application as a Windows service, it must be registere d
/// with the Windows Service Control Manager (SCM). To do this, the application /// with the Windows Service Control Manager (SCM). To do this, the application
/// can be started from the command line, with the /registerService option /// can be started from the command line, with the /registerService option
/// specified. This causes the application to register itself with t he /// specified. This causes the application to register itself with t he
/// SCM, and then exit. Similarly, an application registered as a se rvice can /// SCM, and then exit. Similarly, an application registered as a se rvice can
/// be unregistered, by specifying the /unregisterService option. /// be unregistered, by specifying the /unregisterService option.
/// The file name of the application executable (excluding the .exe suffix) /// The file name of the application executable (excluding the .exe suffix)
/// is used as the service name. Additionally, a more user-friendly name can be /// is used as the service name. Additionally, a more user-friendly name can be
/// specified, using the /displayName option (e.g., /displayName="De mo Service"). /// specified, using the /displayName option (e.g., /displayName="De mo Service").
/// The startup mode (automatic or manual) for the service can be sp
ecified
/// with the /startup option.
/// ///
/// An application can determine whether it is running as a service by checking /// An application can determine whether it is running as a service by checking
/// for the "application.runAsService" configuration property. /// for the "application.runAsService" configuration property.
/// ///
/// if (config().getBool("application.runAsService", false)) /// if (config().getBool("application.runAsService", false))
/// { /// {
/// // do service specific things /// // do service specific things
/// } /// }
/// ///
/// Note that the working directory for an application running as a service /// Note that the working directory for an application running as a service
skipping to change at line 161 skipping to change at line 170
/// 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
protected: protected:
int run(); int run();
void waitForTerminationRequest(); void waitForTerminationRequest();
#if !defined(_WIN32_WCE)
void defineOptions(OptionSet& options); void defineOptions(OptionSet& options);
void handleOption(const std::string& name, const std::string& value) ; #endif
static void terminate(); static void terminate();
private: private:
#if defined(POCO_OS_FAMILY_UNIX) #if defined(POCO_OS_FAMILY_UNIX)
void handleDaemon(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)
enum Action enum Action
{ {
SRV_RUN, SRV_RUN,
SRV_REGISTER, SRV_REGISTER,
SRV_UNREGISTER SRV_UNREGISTER
}; };
static BOOL __stdcall ConsoleCtrlHandler(DWORD ctrlType); static BOOL __stdcall ConsoleCtrlHandler(DWORD ctrlType);
static void __stdcall ServiceControlHandler(DWORD control); static void __stdcall ServiceControlHandler(DWORD control);
#if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING) #if defined(POCO_WIN32_UTF8) && !defined(POCO_NO_WSTRING)
static void __stdcall ServiceMain(DWORD argc, LPWSTR* argv); static void __stdcall ServiceMain(DWORD argc, LPWSTR* argv);
#else #else
static void __stdcall ServiceMain(DWORD argc, LPTSTR* argv); static void __stdcall ServiceMain(DWORD argc, LPTSTR* argv);
#endif #endif
bool hasConsole(); bool hasConsole();
bool isService(); bool isService();
void beService(); void beService();
void registerService(); void registerService();
void unregisterService(); void unregisterService();
void handleRegisterService(const std::string& name, const std::strin
g& value);
void handleUnregisterService(const std::string& name, const std::str
ing& value);
void handleDisplayName(const std::string& name, const std::string& v
alue);
void handleStartup(const std::string& name, const std::string& value
);
Action _action; Action _action;
std::string _displayName; std::string _displayName;
std::string _startup;
static Poco::Event _terminated; static Poco::Event _terminated;
static SERVICE_STATUS _serviceStatus; static SERVICE_STATUS _serviceStatus;
static SERVICE_STATUS_HANDLE _serviceStatusHandle; static SERVICE_STATUS_HANDLE _serviceStatusHandle;
#endif // _WIN32_WCE
static Poco::NamedEvent _terminate;
#endif #endif
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
// //
// 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) \
 End of changes. 11 change blocks. 
2 lines changed or deleted 32 lines changed or added


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


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


 SharedLibrary.h   SharedLibrary.h 
// //
// SharedLibrary.h // SharedLibrary.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedLibrary_HPUX.h   SharedLibrary_HPUX.h 
// //
// SharedLibrary_HPUX.h // SharedLibrary_HPUX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary_HPUX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary_HPUX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibraryImpl class for HP-UX. // Definition of the SharedLibraryImpl class for HP-UX.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedLibrary_UNIX.h   SharedLibrary_UNIX.h 
// //
// SharedLibrary_UNIX.h // SharedLibrary_UNIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary_UNIX.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary_UNIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibraryImpl class for UNIX (dlopen). // Definition of the SharedLibraryImpl class for UNIX (dlopen).
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedLibrary_VMS.h   SharedLibrary_VMS.h 
// //
// SharedLibrary_VMS.h // SharedLibrary_VMS.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary_VMS.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary_VMS.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibraryImpl class for VMS (dlopen). // Definition of the SharedLibraryImpl class for VMS (dlopen).
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedLibrary_WIN32.h   SharedLibrary_WIN32.h 
// //
// SharedLibrary_WIN32.h // SharedLibrary_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary_WIN32.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibraryImpl class for Win32. // Definition of the SharedLibraryImpl class for Win32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedLibrary_WIN32U.h   SharedLibrary_WIN32U.h 
// //
// SharedLibrary_WIN32U.h // SharedLibrary_WIN32U.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedLibrary_WIN32U.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedLibrary_WIN32U.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: SharedLibrary // Package: SharedLibrary
// Module: SharedLibrary // Module: SharedLibrary
// //
// Definition of the SharedLibraryImpl class for Win32. // Definition of the SharedLibraryImpl class for Win32.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedMemory.h   SharedMemory.h 
// //
// SharedMemory.h // SharedMemory.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedMemory.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedMemory.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedMemory_DUMMY.h   SharedMemory_DUMMY.h 
// //
// SharedMemoryImpl.h // SharedMemoryImpl.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedMemory_DUMMY.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedMemory_DUMMY.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: SharedMemoryImpl // Module: SharedMemoryImpl
// //
// Definition of the SharedMemoryImpl class. // Definition of the SharedMemoryImpl class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedMemory_POSIX.h   SharedMemory_POSIX.h 
// //
// SharedMemoryImpl.h // SharedMemoryImpl.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedMemory_POSIX.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedMemory_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: SharedMemoryImpl // Module: SharedMemoryImpl
// //
// Definition of the SharedMemoryImpl class. // Definition of the SharedMemoryImpl class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedMemory_WIN32.h   SharedMemory_WIN32.h 
// //
// SharedMemoryImpl.h // SharedMemoryImpl.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedMemory_WIN32.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedMemory_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Processes // Package: Processes
// Module: SharedMemoryImpl // Module: SharedMemoryImpl
// //
// Definition of the SharedMemoryImpl class. // Definition of the SharedMemoryImpl class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SharedPtr.h   SharedPtr.h 
// //
// SharedPtr.h // SharedPtr.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SharedPtr.h#8 $ // $Id: //poco/1.4/Foundation/include/Poco/SharedPtr.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: SharedPtr // Module: SharedPtr
// //
// Definition of the SharedPtr template class. // Definition of the SharedPtr template class.
// //
// Copyright (c) 2005-2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SignalHandler.h   SignalHandler.h 
// //
// SignalHandler.h // SignalHandler.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SignalHandler.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/SignalHandler.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


 SingletonHolder.h   SingletonHolder.h 
// //
// SingletonHolder.h // SingletonHolder.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SingletonHolder.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SingletonHolder.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: SingletonHolder // Module: SingletonHolder
// //
// Definition of the SingletonHolder template. // Definition of the SingletonHolder template.
// //
// 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
template <class S> template <class S>
class SingletonHolder class SingletonHolder
/// This is a helper template class for managing /// This is a helper template class for managing
/// singleton objects allocated on the heap. /// singleton objects allocated on the heap.
/// The class ensures proper deletion (including /// The class ensures proper deletion (including
/// calling of the destructor) of singleton objects /// calling of the destructor) of singleton objects
/// when the application that created them terminates. /// when the application that created them terminates.
{ {
public: public:
SingletonHolder() SingletonHolder():
_pS(0)
/// Creates the SingletonHolder. /// Creates the SingletonHolder.
{ {
_pS = 0;
} }
~SingletonHolder() ~SingletonHolder()
/// Destroys the SingletonHolder and the singleton /// Destroys the SingletonHolder and the singleton
/// object that it holds. /// object that it holds.
{ {
delete _pS; delete _pS;
} }
S* get() S* get()
/// Returns a pointer to the singleton object /// Returns a pointer to the singleton object
/// hold by the SingletonHolder. The first call /// hold by the SingletonHolder. The first call
/// to get will create the singleton. /// to get will create the singleton.
{ {
FastMutex::ScopedLock lock(_m); FastMutex::ScopedLock lock(_m);
if (!_pS) _pS = new S; if (!_pS) _pS = new S;
return _pS; return _pS;
} }
 End of changes. 5 change blocks. 
3 lines changed or deleted 5 lines changed or added


 Socket.h   Socket.h 
// //
// Socket.h // Socket.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/Socket.h#4 $ // $Id: //poco/1.4/Net/include/Poco/Net/Socket.h#1 $
// //
// Library: Net // Library: Net
// Package: Sockets // Package: Sockets
// Module: Socket // Module: Socket
// //
// Definition of the Socket class. // Definition of the Socket 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 295 skipping to change at line 295
SocketAddress address() const; SocketAddress address() const;
/// Returns the IP address and port number of the socket. /// Returns the IP address and port number of the socket.
SocketAddress peerAddress() const; SocketAddress peerAddress() const;
/// Returns the IP address and port number of the peer socke t. /// Returns the IP address and port number of the peer socke t.
SocketImpl* impl() const; SocketImpl* impl() const;
/// Returns the SocketImpl for this socket. /// Returns the SocketImpl for this socket.
bool secure() const;
/// Returns true iff the socket's connection is secure
/// (using SSL or TLS).
static bool supportsIPv4(); static bool supportsIPv4();
/// Returns true if the system supports IPv4. /// Returns true if the system supports IPv4.
static bool supportsIPv6(); static bool supportsIPv6();
/// Returns true if the system supports IPv6. /// Returns true if the system supports IPv6.
protected: protected:
Socket(SocketImpl* pImpl); Socket(SocketImpl* pImpl);
/// Creates the Socket and attaches the given SocketImpl. /// Creates the Socket and attaches the given SocketImpl.
/// The socket takes owership of the SocketImpl. /// The socket takes owership of the SocketImpl.
skipping to change at line 541 skipping to change at line 545
inline SocketAddress Socket::address() const inline SocketAddress Socket::address() const
{ {
return _pImpl->address(); return _pImpl->address();
} }
inline SocketAddress Socket::peerAddress() const inline SocketAddress Socket::peerAddress() const
{ {
return _pImpl->peerAddress(); return _pImpl->peerAddress();
} }
inline bool Socket::secure() const
{
return _pImpl->secure();
}
inline bool Socket::supportsIPv4() inline bool Socket::supportsIPv4()
{ {
return true; return true;
} }
inline bool Socket::supportsIPv6() inline bool Socket::supportsIPv6()
{ {
#if defined(POCO_HAVE_IPv6) #if defined(POCO_HAVE_IPv6)
return true; return true;
#else #else
 End of changes. 3 change blocks. 
1 lines changed or deleted 10 lines changed or added


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


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


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


 SocketDefs.h   SocketDefs.h 
// //
// SocketDefs.h // SocketDefs.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/SocketDefs.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/SocketDefs.h#1 $
// //
// 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 175 skipping to change at line 175
#define POCO_HOST_NOT_FOUND HOST_NOT_FOUND #define POCO_HOST_NOT_FOUND HOST_NOT_FOUND
#define POCO_TRY_AGAIN TRY_AGAIN #define POCO_TRY_AGAIN TRY_AGAIN
#define POCO_NO_RECOVERY NO_RECOVERY #define POCO_NO_RECOVERY NO_RECOVERY
#define POCO_NO_DATA NO_DATA #define POCO_NO_DATA NO_DATA
#endif #endif
#if defined(POCO_OS_FAMILY_BSD) || (POCO_OS == POCO_OS_TRU64) || (POCO_OS = = POCO_OS_AIX) || (POCO_OS == POCO_OS_IRIX) || (POCO_OS == POCO_OS_QNX) || (POCO_OS == POCO_OS_VXWORKS) #if defined(POCO_OS_FAMILY_BSD) || (POCO_OS == POCO_OS_TRU64) || (POCO_OS = = POCO_OS_AIX) || (POCO_OS == POCO_OS_IRIX) || (POCO_OS == POCO_OS_QNX) || (POCO_OS == POCO_OS_VXWORKS)
#define POCO_HAVE_SALEN 1 #define POCO_HAVE_SALEN 1
#endif #endif
#if (POCO_OS == POCO_OS_HPUX) || (POCO_OS == POCO_OS_SOLARIS) #if (POCO_OS == POCO_OS_HPUX) || (POCO_OS == POCO_OS_SOLARIS) || (POCO_OS = = POCO_OS_WINDOWS_CE)
#define POCO_BROKEN_TIMEOUTS 1 #define POCO_BROKEN_TIMEOUTS 1
#endif #endif
#if defined(POCO_HAVE_SALEN) #if defined(POCO_HAVE_SALEN)
#define poco_set_sa_len(pSA, len) (pSA)->sa_len = (len) #define poco_set_sa_len(pSA, len) (pSA)->sa_len = (len)
#define poco_set_sin_len(pSA) (pSA)->sin_len = sizeof(struct sockaddr_ in) #define poco_set_sin_len(pSA) (pSA)->sin_len = sizeof(struct sockaddr_ in)
#if defined(POCO_HAVE_IPv6) #if defined(POCO_HAVE_IPv6)
#define poco_set_sin6_len(pSA) (pSA)->sin6_len = sizeof(struct sockaddr_ in6) #define poco_set_sin6_len(pSA) (pSA)->sin6_len = sizeof(struct sockaddr_ in6)
#endif #endif
#else #else
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 SocketImpl.h   SocketImpl.h 
// //
// SocketImpl.h // SocketImpl.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/SocketImpl.h#7 $ // $Id: //poco/1.4/Net/include/Poco/Net/SocketImpl.h#1 $
// //
// Library: Net // Library: Net
// Package: Sockets // Package: Sockets
// Module: SocketImpl // Module: SocketImpl
// //
// Definition of the SocketImpl class. // Definition of the SocketImpl 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 337 skipping to change at line 337
virtual void setBlocking(bool flag); virtual void setBlocking(bool flag);
/// Sets the socket in blocking mode if flag is true, /// Sets the socket in blocking mode if flag is true,
/// disables blocking mode if flag is false. /// disables blocking mode if flag is false.
virtual bool getBlocking() const; virtual bool getBlocking() const;
/// Returns the blocking mode of the socket. /// Returns the blocking mode of the socket.
/// This method will only work if the blocking modes of /// This method will only work if the blocking modes of
/// the socket are changed via the setBlocking method! /// the socket are changed via the setBlocking method!
virtual bool secure() const;
/// Returns true iff the socket's connection is secure
/// (using SSL or TLS).
int socketError(); int socketError();
/// Returns the value of the SO_ERROR socket option. /// Returns the value of the SO_ERROR socket option.
poco_socket_t sockfd() const; poco_socket_t sockfd() const;
/// Returns the socket descriptor for the /// Returns the socket descriptor for the
/// underlying native socket. /// underlying native socket.
void ioctl(int request, int& arg); void ioctl(int request, int& arg);
/// A wrapper for the ioctl system call. /// A wrapper for the ioctl system call.
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


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


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


 SocketReactor.h   SocketReactor.h 
// //
// SocketReactor.h // SocketReactor.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/SocketReactor.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/SocketReactor.h#1 $
// //
// Library: Net // Library: Net
// Package: Reactor // Package: Reactor
// Module: SocketReactor // Module: SocketReactor
// //
// Definition of the SocketReactor class. // Definition of the SocketReactor 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 196 skipping to change at line 196
/// dispatches the IdleNotification and thus should be calle d by overriding /// dispatches the IdleNotification and thus should be calle d by overriding
/// implementations. /// implementations.
virtual void onShutdown(); virtual void onShutdown();
/// Called when the SocketReactor is about to terminate. /// Called when the SocketReactor is about to terminate.
/// ///
/// Can be overridden by subclasses. The default implementat ion /// Can be overridden by subclasses. The default implementat ion
/// dispatches the ShutdownNotification and thus should be c alled by overriding /// dispatches the ShutdownNotification and thus should be c alled by overriding
/// implementations. /// implementations.
virtual void onBusy();
/// Called when the SocketReactor is busy and at least one n
otification
/// has been dispatched.
///
/// Can be overridden by subclasses to perform additional
/// periodic tasks. The default implementation does nothing.
void dispatch(const Socket& socket, SocketNotification* pNotificatio n); void dispatch(const Socket& socket, SocketNotification* pNotificatio n);
/// Dispatches the given notification to all observers /// Dispatches the given notification to all observers
/// registered for the given socket. /// registered for the given socket.
void dispatch(SocketNotification* pNotification); void dispatch(SocketNotification* pNotification);
/// Dispatches the given notification to all observers. /// Dispatches the given notification to all observers.
private: private:
typedef Poco::AutoPtr<SocketNotifier> NotifierPtr; typedef Poco::AutoPtr<SocketNotifier> NotifierPtr;
typedef Poco::AutoPtr<SocketNotification> NotificationPtr; typedef Poco::AutoPtr<SocketNotification> NotificationPtr;
 End of changes. 2 change blocks. 
1 lines changed or deleted 9 lines changed or added


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


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


 Stopwatch.h   Stopwatch.h 
// //
// Stopwatch.h // Stopwatch.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Stopwatch.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Stopwatch.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: DateTime // Package: DateTime
// Module: Stopwatch // Module: Stopwatch
// //
// Definition of the Stopwatch class. // Definition of the Stopwatch class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 StrategyCollection.h   StrategyCollection.h 
// //
// StrategyCollection.h // StrategyCollection.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/StrategyCollection.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/StrategyCollection.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: StrategyCollection // Module: StrategyCollection
// //
// Definition of the StrategyCollection class. // Definition of the StrategyCollection 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_StrategyCollection_INCLUDED #ifndef Foundation_StrategyCollection_INCLUDED
#define Foundation_StrategyCollection_INCLUDED #define Foundation_StrategyCollection_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/AbstractStrategy.h" #include "Poco/AbstractStrategy.h"
#include "Poco/SharedPtr.h" #include "Poco/SharedPtr.h"
#include <vector> #include <vector>
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <class TKey, class TValue>
class StrategyCollection: public AbstractStrategy<TKey, TValue> class StrategyCollection: public AbstractStrategy<TKey, TValue>
/// An StrategyCollection is a decorator masking n collections as a single one /// An StrategyCollection is a decorator masking n collections as a single one.
{ {
public: public:
typedef std::vector<SharedPtr<AbstractStrategy<TKey, TValue> > > Str ategies; typedef std::vector<SharedPtr<AbstractStrategy<TKey, TValue> > > Str ategies;
typedef typename Strategies::iterator Iterator; typedef typename Strategies::iterator Iterator;
typedef typename Strategies::const_iterator ConstIterator; typedef typename Strategies::const_iterator ConstIterator;
public: public:
StrategyCollection() StrategyCollection()
{ {
} }
skipping to change at line 149 skipping to change at line 149
(*it)->onReplace(pSender, elemsToRemove); (*it)->onReplace(pSender, elemsToRemove);
} }
} }
protected: protected:
Strategies _strategies; Strategies _strategies;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_StrategyCollection_INCLUDED
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


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


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


 StreamCopier.h   StreamCopier.h 
// //
// StreamCopier.h // StreamCopier.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/StreamCopier.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/StreamCopier.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamCopier // Module: StreamCopier
// //
// Definition of class StreamCopier. // Definition of class StreamCopier.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


 StreamUtil.h   StreamUtil.h 
// //
// StreamUtil.h // StreamUtil.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/StreamUtil.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/StreamUtil.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamUtil // Module: StreamUtil
// //
// Stream implementation support. // Stream implementation support.
// //
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 String.h   String.h 
// //
// String.h // String.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/String.h#5 $ // $Id: //poco/1.4/Foundation/include/Poco/String.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: String // Module: String
// //
// String utility functions. // String utility functions.
// //
// 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 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 Foundation_String_INCLUDED #ifndef Foundation_String_INCLUDED
#define Foundation_String_INCLUDED #define Foundation_String_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Ascii.h"
#include <cstring> #include <cstring>
#include <cctype>
namespace Poco { namespace Poco {
template <class S> template <class S>
S trimLeft(const S& str) S trimLeft(const S& str)
/// Returns a copy of str with all leading /// Returns a copy of str with all leading
/// whitespace removed. /// whitespace removed.
{ {
typename S::const_iterator it = str.begin(); typename S::const_iterator it = str.begin();
typename S::const_iterator end = str.end(); typename S::const_iterator end = str.end();
while (it != end && std::isspace(*it)) ++it; while (it != end && Ascii::isSpace(*it)) ++it;
return S(it, end); return S(it, end);
} }
template <class S> template <class S>
S& trimLeftInPlace(S& str) S& trimLeftInPlace(S& str)
/// Removes all leading whitespace in str. /// Removes all leading whitespace in str.
{ {
typename S::iterator it = str.begin(); typename S::iterator it = str.begin();
typename S::iterator end = str.end(); typename S::iterator end = str.end();
while (it != end && std::isspace(*it)) ++it; while (it != end && Ascii::isSpace(*it)) ++it;
str.erase(str.begin(), it); str.erase(str.begin(), it);
return str; return str;
} }
template <class S> template <class S>
S trimRight(const S& str) S trimRight(const S& str)
/// Returns a copy of str with all trailing /// Returns a copy of str with all trailing
/// whitespace removed. /// whitespace removed.
{ {
int pos = int(str.size()) - 1; int pos = int(str.size()) - 1;
while (pos >= 0 && std::isspace(str[pos])) --pos; while (pos >= 0 && Ascii::isSpace(str[pos])) --pos;
return S(str, 0, pos + 1); return S(str, 0, pos + 1);
} }
template <class S> template <class S>
S& trimRightInPlace(S& str) S& trimRightInPlace(S& str)
/// Removes all trailing whitespace in str. /// Removes all trailing whitespace in str.
{ {
int pos = int(str.size()) - 1; int pos = int(str.size()) - 1;
while (pos >= 0 && std::isspace(str[pos])) --pos; while (pos >= 0 && Ascii::isSpace(str[pos])) --pos;
str.resize(pos + 1); str.resize(pos + 1);
return str; return str;
} }
template <class S> template <class S>
S trim(const S& str) S trim(const S& str)
/// Returns a copy of str with all leading and /// Returns a copy of str with all leading and
/// trailing whitespace removed. /// trailing whitespace removed.
{ {
int first = 0; int first = 0;
int last = int(str.size()) - 1; int last = int(str.size()) - 1;
while (first <= last && std::isspace(str[first])) ++first; while (first <= last && Ascii::isSpace(str[first])) ++first;
while (last >= first && std::isspace(str[last])) --last; while (last >= first && Ascii::isSpace(str[last])) --last;
return S(str, first, last - first + 1); return S(str, first, last - first + 1);
} }
template <class S> template <class S>
S& trimInPlace(S& str) S& trimInPlace(S& str)
/// Removes all leading and trailing whitespace in str. /// Removes all leading and trailing whitespace in str.
{ {
int first = 0; int first = 0;
int last = int(str.size()) - 1; int last = int(str.size()) - 1;
while (first <= last && std::isspace(str[first])) ++first; while (first <= last && Ascii::isSpace(str[first])) ++first;
while (last >= first && std::isspace(str[last])) --last; while (last >= first && Ascii::isSpace(str[last])) --last;
str.resize(last + 1); str.resize(last + 1);
str.erase(0, first); str.erase(0, first);
return str; return str;
} }
template <class S> template <class S>
S toUpper(const S& str) S toUpper(const S& str)
/// Returns a copy of str containing all upper-case characters. /// Returns a copy of str containing all upper-case characters.
{ {
typename S::const_iterator it = str.begin(); typename S::const_iterator it = str.begin();
typename S::const_iterator end = str.end(); typename S::const_iterator end = str.end();
S result; S result;
result.reserve(str.size()); result.reserve(str.size());
while (it != end) result += std::toupper(*it++); while (it != end) result += Ascii::toUpper(*it++);
return result; return result;
} }
template <class S> template <class S>
S& toUpperInPlace(S& str) S& toUpperInPlace(S& str)
/// Replaces all characters in str with their upper-case counterpart s. /// Replaces all characters in str with their upper-case counterpart s.
{ {
typename S::iterator it = str.begin(); typename S::iterator it = str.begin();
typename S::iterator end = str.end(); typename S::iterator end = str.end();
while (it != end) { *it = std::toupper(*it); ++it; } while (it != end) { *it = Ascii::toUpper(*it); ++it; }
return str; return str;
} }
template <class S> template <class S>
S toLower(const S& str) S toLower(const S& str)
/// Returns a copy of str containing all lower-case characters. /// Returns a copy of str containing all lower-case characters.
{ {
typename S::const_iterator it = str.begin(); typename S::const_iterator it = str.begin();
typename S::const_iterator end = str.end(); typename S::const_iterator end = str.end();
S result; S result;
result.reserve(str.size()); result.reserve(str.size());
while (it != end) result += std::tolower(*it++); while (it != end) result += Ascii::toLower(*it++);
return result; return result;
} }
template <class S> template <class S>
S& toLowerInPlace(S& str) S& toLowerInPlace(S& str)
/// Replaces all characters in str with their lower-case counterpart s. /// Replaces all characters in str with their lower-case counterpart s.
{ {
typename S::iterator it = str.begin(); typename S::iterator it = str.begin();
typename S::iterator end = str.end(); typename S::iterator end = str.end();
while (it != end) { *it = std::tolower(*it); ++it; } while (it != end) { *it = Ascii::toLower(*it); ++it; }
return str; return str;
} }
#if !defined(POCO_NO_TEMPLATE_ICOMPARE) #if !defined(POCO_NO_TEMPLATE_ICOMPARE)
template <class S, class It> template <class S, class It>
int icompare( int icompare(
const S& str, const S& str,
typename S::size_type pos, typename S::size_type pos,
typename S::size_type n, typename S::size_type n,
skipping to change at line 190 skipping to change at line 190
It end2) It end2)
/// Case-insensitive string comparison /// Case-insensitive string comparison
{ {
typename S::size_type sz = str.size(); typename S::size_type sz = str.size();
if (pos > sz) pos = sz; if (pos > sz) pos = sz;
if (pos + n > sz) n = sz - pos; if (pos + n > sz) n = sz - pos;
It it1 = str.begin() + pos; It it1 = str.begin() + pos;
It end1 = str.begin() + pos + n; It end1 = str.begin() + pos + n;
while (it1 != end1 && it2 != end2) while (it1 != end1 && it2 != end2)
{ {
typename S::value_type c1(std::tolower(*it1)); typename S::value_type c1(Ascii::toLower(*it1));
typename S::value_type c2(std::tolower(*it2)); typename S::value_type c2(Ascii::toLower(*it2));
if (c1 < c2) if (c1 < c2)
return -1; return -1;
else if (c1 > c2) else if (c1 > c2)
return 1; return 1;
++it1; ++it2; ++it1; ++it2;
} }
if (it1 == end1) if (it1 == end1)
return it2 == end2 ? 0 : -1; return it2 == end2 ? 0 : -1;
else else
skipping to change at line 215 skipping to change at line 215
template <class S> template <class S>
int icompare(const S& str1, const S& str2) int icompare(const S& str1, const S& str2)
// A special optimization for an often used case. // A special optimization for an often used case.
{ {
typename S::const_iterator it1(str1.begin()); typename S::const_iterator it1(str1.begin());
typename S::const_iterator end1(str1.end()); typename S::const_iterator end1(str1.end());
typename S::const_iterator it2(str2.begin()); typename S::const_iterator it2(str2.begin());
typename S::const_iterator end2(str2.end()); typename S::const_iterator end2(str2.end());
while (it1 != end1 && it2 != end2) while (it1 != end1 && it2 != end2)
{ {
typename S::value_type c1(std::tolower(*it1)); typename S::value_type c1(Ascii::toLower(*it1));
typename S::value_type c2(std::tolower(*it2)); typename S::value_type c2(Ascii::toLower(*it2));
if (c1 < c2) if (c1 < c2)
return -1; return -1;
else if (c1 > c2) else if (c1 > c2)
return 1; return 1;
++it1; ++it2; ++it1; ++it2;
} }
if (it1 == end1) if (it1 == end1)
return it2 == end2 ? 0 : -1; return it2 == end2 ? 0 : -1;
else else
skipping to change at line 294 skipping to change at line 294
const typename S::value_type* ptr) const typename S::value_type* ptr)
{ {
poco_check_ptr (ptr); poco_check_ptr (ptr);
typename S::size_type sz = str.size(); typename S::size_type sz = str.size();
if (pos > sz) pos = sz; if (pos > sz) pos = sz;
if (pos + n > sz) n = sz - pos; if (pos + n > sz) n = sz - pos;
typename S::const_iterator it = str.begin() + pos; typename S::const_iterator it = str.begin() + pos;
typename S::const_iterator end = str.begin() + pos + n; typename S::const_iterator end = str.begin() + pos + n;
while (it != end && *ptr) while (it != end && *ptr)
{ {
typename S::value_type c1(std::tolower(*it)); typename S::value_type c1(Ascii::toLower(*it));
typename S::value_type c2(std::tolower(*ptr)); typename S::value_type c2(Ascii::toLower(*ptr));
if (c1 < c2) if (c1 < c2)
return -1; return -1;
else if (c1 > c2) else if (c1 > c2)
return 1; return 1;
++it; ++ptr; ++it; ++ptr;
} }
if (it == end) if (it == end)
return *ptr == 0 ? 0 : -1; return *ptr == 0 ? 0 : -1;
else else
skipping to change at line 401 skipping to change at line 401
{ {
poco_check_ptr (from); poco_check_ptr (from);
poco_check_ptr (to); poco_check_ptr (to);
str = translate(str, S(from), S(to)); str = translate(str, S(from), S(to));
return str; return str;
} }
#if !defined(POCO_NO_TEMPLATE_ICOMPARE) #if !defined(POCO_NO_TEMPLATE_ICOMPARE)
template <class S> template <class S>
S replace(const S& str, const S& from, const S& to, typename S::size_type s
tart = 0)
/// Replace all occurences of from (which must not be the empty stri
ng)
/// in str with to, starting at position start.
{
S result(str);
replaceInPlace(result, from, to, start);
return result;
}
template <class S>
S replace(const S& str, const typename S::value_type* from, const typename
S::value_type* to, typename S::size_type start = 0)
{
S result(str);
replaceInPlace(result, from, to, start);
return result;
}
template <class S>
S& replaceInPlace(S& str, const S& from, const S& to, typename S::size_type start = 0) S& replaceInPlace(S& str, const S& from, const S& to, typename S::size_type start = 0)
{ {
poco_assert (from.size() > 0); poco_assert (from.size() > 0);
S result; S result;
typename S::size_type pos = 0; typename S::size_type pos = 0;
result.append(str, 0, start); result.append(str, 0, start);
do do
{ {
pos = str.find(from, start); pos = str.find(from, start);
skipping to change at line 467 skipping to change at line 449
result.append(to); result.append(to);
start = pos + fromLen; start = pos + fromLen;
} }
else result.append(str, start, str.size() - start); else result.append(str, start, str.size() - start);
} }
while (pos != S::npos); while (pos != S::npos);
str.swap(result); str.swap(result);
return str; return str;
} }
template <class S>
S replace(const S& str, const S& from, const S& to, typename S::size_type s
tart = 0)
/// Replace all occurences of from (which must not be the empty stri
ng)
/// in str with to, starting at position start.
{
S result(str);
replaceInPlace(result, from, to, start);
return result;
}
template <class S>
S replace(const S& str, const typename S::value_type* from, const typename
S::value_type* to, typename S::size_type start = 0)
{
S result(str);
replaceInPlace(result, from, to, start);
return result;
}
#else #else
std::string Foundation_API replace(const std::string& str, const std::strin g& from, const std::string& to, std::string::size_type start = 0); std::string Foundation_API replace(const std::string& str, const std::strin g& from, const std::string& to, std::string::size_type start = 0);
std::string Foundation_API replace(const std::string& str, const std::strin g::value_type* from, const std::string::value_type* to, std::string::size_t ype start = 0); std::string Foundation_API replace(const std::string& str, const std::strin g::value_type* from, const std::string::value_type* to, std::string::size_t ype start = 0);
std::string& Foundation_API replaceInPlace(std::string& str, const std::str ing& from, const std::string& to, std::string::size_type start = 0); std::string& Foundation_API replaceInPlace(std::string& str, const std::str ing& from, const std::string& to, std::string::size_type start = 0);
std::string& Foundation_API replaceInPlace(std::string& str, const std::str ing::value_type* from, const std::string::value_type* to, std::string::size _type start = 0); std::string& Foundation_API replaceInPlace(std::string& str, const std::str ing::value_type* from, const std::string::value_type* to, std::string::size _type start = 0);
#endif #endif
template <class S> template <class S>
 End of changes. 18 change blocks. 
41 lines changed or deleted 41 lines changed or added


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


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


 Subsystem.h   Subsystem.h 
// //
// Subsystem.h // Subsystem.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/Subsystem.h#3 $ // $Id: //poco/1.4/Util/include/Poco/Util/Subsystem.h#1 $
// //
// Library: Util // Library: Util
// Package: Application // Package: Application
// Module: Subsystem // Module: Subsystem
// //
// Definition of the Subsystem class. // Definition of the Subsystem class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 SyslogChannel.h   SyslogChannel.h 
// //
// SyslogChannel.h // SyslogChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/SyslogChannel.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/SyslogChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: SyslogChannel // Module: SyslogChannel
// //
// Definition of the SyslogChannel class specific to UNIX. // Definition of the SyslogChannel class specific to UNIX.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 SystemConfiguration.h   SystemConfiguration.h 
// //
// SystemConfiguration.h // SystemConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/SystemConfiguration.h#3 $ // $Id: //poco/1.4/Util/include/Poco/Util/SystemConfiguration.h#1 $
// //
// 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 56 skipping to change at line 56
class Util_API SystemConfiguration: public AbstractConfiguration class Util_API SystemConfiguration: public AbstractConfiguration
/// This class implements a Configuration interface to /// This class implements a Configuration interface to
/// various system properties and environment variables. /// various system properties and environment variables.
/// ///
/// The following properties are supported: /// The following properties are supported:
/// - system.osName: the operating system name /// - system.osName: the operating system name
/// - system.osVersion: the operating system version /// - system.osVersion: the operating system version
/// - system.osArchitecture: the operating system architecture /// - system.osArchitecture: the operating system architecture
/// - system.nodeName: the node (or host) name /// - system.nodeName: the node (or host) name
/// - system.nodeId: system ID, based on the Ethernet address (for
mat "xxxxxxxxxxxx")
/// of the first Ethernet adapter found on the system.
/// - system.currentDir: the current working directory /// - system.currentDir: the current working directory
/// - system.homeDir: the user's home directory /// - system.homeDir: the user's home directory
/// - system.tempDir: the system's temporary directory /// - system.tempDir: the system's temporary directory
/// - system.dateTime: the current UTC date and time, formatted in ISO 8601 format. /// - system.dateTime: the current UTC date and time, formatted in ISO 8601 format.
/// - system.pid: the current process ID. /// - system.pid: the current process ID.
/// - system.env.<NAME>: the environment variable with the given < NAME>. /// - system.env.<NAME>: the environment variable with the given < NAME>.
/// ///
/// An attempt to set a system variable will result in an /// An attempt to set a system variable will result in an
/// InvalidAccessException being thrown. /// InvalidAccessException being thrown.
/// ///
/// Enumerating environment variables is not supported. /// Enumerating environment variables is not supported.
/// An attempt to call keys("system.env") will return an empty range . /// An attempt to call keys("system.env") will return an empty range .
///
/// Removing key is not supported. An attempt to remove a key result
s
/// in a NotImplementedException being thrown.
{ {
public: public:
SystemConfiguration(); SystemConfiguration();
/// Creates the SystemConfiguration. /// Creates the SystemConfiguration.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
~SystemConfiguration(); ~SystemConfiguration();
private: private:
static bool getEnv(const std::string& name, std::string& value); static bool getEnv(const std::string& name, std::string& value);
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 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;
static const std::string PID; static const std::string PID;
static const std::string ENV; static const std::string ENV;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
 End of changes. 5 change blocks. 
1 lines changed or deleted 10 lines changed or added


 TCPServer.h   TCPServer.h 
// //
// TCPServer.h // TCPServer.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/TCPServer.h#4 $ // $Id: //poco/1.4/Net/include/Poco/Net/TCPServer.h#1 $
// //
// Library: Net // Library: Net
// Package: TCPServer // Package: TCPServer
// Module: TCPServer // Module: TCPServer
// //
// Definition of the TCPServer class. // Definition of the TCPServer 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 99 skipping to change at line 99
/// To stop the server from accepting new connections, call stop(). /// To stop the server from accepting new connections, call stop().
/// ///
/// After calling stop(), no new connections will be accepted and /// After calling stop(), no new connections will be accepted and
/// all queued connections will be discarded. /// all queued connections will be discarded.
/// Already served connections, however, will continue being served. /// Already served connections, however, will continue being served.
{ {
public: public:
TCPServer(TCPServerConnectionFactory::Ptr pFactory, const ServerSock et& socket, TCPServerParams::Ptr pParams = 0); TCPServer(TCPServerConnectionFactory::Ptr pFactory, const ServerSock et& socket, TCPServerParams::Ptr pParams = 0);
/// Creates the TCPServer, using the given ServerSocket. /// Creates the TCPServer, using the given ServerSocket.
/// ///
/// The server takes ownership of the TCPServerConnectionFac
tory
/// and deletes it when it's no longer needed.
///
/// The server also takes ownership of the TCPServerParams o
bject.
/// If no TCPServerParams object is given, the server's TCPS erverDispatcher /// If no TCPServerParams object is given, the server's TCPS erverDispatcher
/// creates its own one. /// creates its own one.
/// ///
/// News threads are taken from the default thread pool. /// New threads are taken from the default thread pool.
TCPServer(TCPServerConnectionFactory::Ptr pFactory, Poco::ThreadPool & threadPool, const ServerSocket& socket, TCPServerParams::Ptr pParams = 0) ; TCPServer(TCPServerConnectionFactory::Ptr pFactory, Poco::ThreadPool & threadPool, const ServerSocket& socket, TCPServerParams::Ptr pParams = 0) ;
/// Creates the TCPServer, using the given ServerSocket. /// Creates the TCPServer, using the given ServerSocket.
/// ///
/// The server takes ownership of the TCPServerConnectionFac
tory
/// and deletes it when it's no longer needed.
///
/// The server also takes ownership of the TCPServerParams o
bject.
/// If no TCPServerParams object is given, the server's TCPS erverDispatcher /// If no TCPServerParams object is given, the server's TCPS erverDispatcher
/// creates its own one. /// creates its own one.
/// ///
/// News threads are taken from the given thread pool. /// New threads are taken from the given thread pool.
virtual ~TCPServer(); virtual ~TCPServer();
/// Destroys the TCPServer and its TCPServerConnectionFactor y. /// Destroys the TCPServer and its TCPServerConnectionFactor y.
const TCPServerParams& params() const; const TCPServerParams& params() const;
/// Returns a const reference to the TCPServerParam object /// Returns a const reference to the TCPServerParam object
/// used by the server's TCPServerDispatcher. /// used by the server's TCPServerDispatcher.
void start(); void start();
/// Starts the server. A new thread will be /// Starts the server. A new thread will be
skipping to change at line 141 skipping to change at line 133
/// ///
/// Before start() is called, the ServerSocket passed to /// Before start() is called, the ServerSocket passed to
/// TCPServer must have been bound and put into listening st ate. /// TCPServer must have been bound and put into listening st ate.
void stop(); void stop();
/// Stops the server. /// Stops the server.
/// ///
/// No new connections will be accepted. /// No new connections will be accepted.
/// Already handled connections will continue to be served. /// Already handled connections will continue to be served.
/// ///
/// Once the server is stopped, it cannot be restarted. /// Once the server has been stopped, it cannot be restarted .
int currentThreads() const; int currentThreads() const;
/// Returns the number of currently used connection threads. /// Returns the number of currently used connection threads.
int totalConnections() const; int totalConnections() const;
/// Returns the total number of handled connections. /// Returns the total number of handled connections.
int currentConnections() const; int currentConnections() const;
/// Returns the number of currently handled connections. /// Returns the number of currently handled connections.
int maxConcurrentConnections() const; int maxConcurrentConnections() const;
/// Returns the maximum number of concurrently handled conne ctions. /// Returns the maximum number of concurrently handled conne ctions.
int queuedConnections() const; int queuedConnections() const;
/// Returns the number of queued connections. /// Returns the number of queued connections.
int refusedConnections() const; int refusedConnections() const;
/// Returns the number of refused connections. /// Returns the number of refused connections.
Poco::UInt16 port() const; Poco::UInt16 port() const;
/// Returns the port the server socket listens to /// Returns the port the server socket listens on.
protected: protected:
void run(); void run();
/// Runs the server. The server will run until /// Runs the server. The server will run until
/// the stop() method is called, or the server /// the stop() method is called, or the server
/// object is destroyed, which implicitly calls /// object is destroyed, which implicitly calls
/// the stop() method. /// the stop() method.
static std::string threadName(const ServerSocket& socket); static std::string threadName(const ServerSocket& socket);
/// Returns a thread name for the server thread. /// Returns a thread name for the server thread.
 End of changes. 7 change blocks. 
17 lines changed or deleted 5 lines changed or added


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


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


 TCPServerDispatcher.h   TCPServerDispatcher.h 
// //
// TCPServerDispatcher.h // TCPServerDispatcher.h
// //
// $Id: //poco/1.3/Net/include/Poco/Net/TCPServerDispatcher.h#3 $ // $Id: //poco/1.4/Net/include/Poco/Net/TCPServerDispatcher.h#1 $
// //
// Library: Net // Library: Net
// Package: TCPServer // Package: TCPServer
// Module: TCPServerDispatcher // Module: TCPServerDispatcher
// //
// Definition of the TCPServerDispatcher class. // Definition of the TCPServerDispatcher 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 60 skipping to change at line 60
namespace Poco { namespace Poco {
namespace Net { namespace Net {
class Net_API TCPServerDispatcher: public Poco::Runnable class Net_API TCPServerDispatcher: public Poco::Runnable
/// A helper class for TCPServer that dispatches /// A helper class for TCPServer that dispatches
/// connections to server connection threads. /// connections to server connection threads.
{ {
public: public:
TCPServerDispatcher(TCPServerConnectionFactory::Ptr pFactory, Poco:: ThreadPool& threadPool, TCPServerParams::Ptr pParams); TCPServerDispatcher(TCPServerConnectionFactory::Ptr pFactory, Poco:: ThreadPool& threadPool, TCPServerParams::Ptr pParams);
/// Creates the TCPServerDispatcher. /// Creates the TCPServerDispatcher.
///
/// The dispatcher takes ownership of the TCPServerParams ob
ject.
/// If no TCPServerParams object is supplied, the TCPServerD
ispatcher
/// creates one.
void duplicate(); void duplicate();
/// Increments the object's reference count. /// Increments the object's reference count.
void release(); void release();
/// Decrements the object's reference count /// Decrements the object's reference count
/// and deletes the object if the count /// and deletes the object if the count
/// reaches zero. /// reaches zero.
void run(); void run();
 End of changes. 2 change blocks. 
7 lines changed or deleted 1 lines changed or added


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


 Task.h   Task.h 
// //
// Task.h // Task.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Task.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Task.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TaskManager.h   TaskManager.h 
// //
// TaskManager.h // TaskManager.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/TaskManager.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/TaskManager.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


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


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


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


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


 TextEncoding.h   TextEncoding.h 
// //
// TextEncoding.h // TextEncoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/TextEncoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/TextEncoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: TextEncoding // Module: TextEncoding
// //
// Definition of the abstract TextEncoding class. // Definition of the abstract TextEncoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TextIterator.h   TextIterator.h 
// //
// TextIterator.h // TextIterator.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/TextIterator.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/TextIterator.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: TextIterator // Module: TextIterator
// //
// Definition of the TextIterator class. // Definition of the TextIterator 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 65 skipping to change at line 65
/// UTF8Encoding utf8Encoding; /// UTF8Encoding utf8Encoding;
/// std::string utf8String("...."); /// std::string utf8String("....");
/// TextIterator it(utf8String, utf8Encoding); /// TextIterator it(utf8String, utf8Encoding);
/// TextIterator end(utf8String); /// TextIterator end(utf8String);
/// int n = 0; /// int n = 0;
/// while (it != end) { ++n; ++it; } /// while (it != end) { ++n; ++it; }
/// ///
/// NOTE: When an UTF-16 encoding is used, surrogate pairs will be /// NOTE: When an UTF-16 encoding is used, surrogate pairs will be
/// reported as two separate characters, due to restrictions of /// reported as two separate characters, due to restrictions of
/// the TextEncoding class. /// the TextEncoding class.
///
/// For iterating over char buffers, see the TextBufferIterator clas
s.
{ {
public: public:
TextIterator(); TextIterator();
/// Creates an uninitialized TextIterator. /// Creates an uninitialized TextIterator.
TextIterator(const std::string& str, const TextEncoding& encoding); TextIterator(const std::string& str, const TextEncoding& encoding);
/// Creates a TextIterator for the given string. /// Creates a TextIterator for the given string.
/// The encoding object must not be deleted as long as the i terator /// The encoding object must not be deleted as long as the i terator
/// is in use. /// is in use.
skipping to change at line 115 skipping to change at line 117
TextIterator operator ++ (int); TextIterator operator ++ (int);
/// Postfix increment operator. /// Postfix increment operator.
bool operator == (const TextIterator& it) const; bool operator == (const TextIterator& it) const;
/// Compares two iterators for equality. /// Compares two iterators for equality.
bool operator != (const TextIterator& it) const; bool operator != (const TextIterator& it) const;
/// Compares two iterators for inequality. /// Compares two iterators for inequality.
TextIterator end() const;
/// Returns the end iterator for the range handled
/// by the iterator.
private: private:
const TextEncoding* _pEncoding; const TextEncoding* _pEncoding;
std::string::const_iterator _it; std::string::const_iterator _it;
std::string::const_iterator _end; std::string::const_iterator _end;
}; };
// //
// inlines // inlines
// //
inline bool TextIterator::operator == (const TextIterator& it) const inline bool TextIterator::operator == (const TextIterator& it) const
skipping to change at line 139 skipping to change at line 145
inline bool TextIterator::operator != (const TextIterator& it) const inline bool TextIterator::operator != (const TextIterator& it) const
{ {
return _it != it._it; return _it != it._it;
} }
inline void swap(TextIterator& it1, TextIterator& it2) inline void swap(TextIterator& it1, TextIterator& it2)
{ {
it1.swap(it2); it1.swap(it2);
} }
inline TextIterator TextIterator::end() const
{
return TextIterator(_end);
}
} // namespace Poco } // namespace Poco
#endif // Foundation_TextIterator_INCLUDED #endif // Foundation_TextIterator_INCLUDED
 End of changes. 4 change blocks. 
1 lines changed or deleted 13 lines changed or added


 Thread.h   Thread.h 
// //
// Thread.h // Thread.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Thread.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/Thread.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the Thread class. // Definition of the Thread 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_Thread_INCLUDED #ifndef Foundation_Thread_INCLUDED
#define Foundation_Thread_INCLUDED #define Foundation_Thread_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/Mutex.h" #include "Poco/Mutex.h"
#if defined(POCO_OS_FAMILY_WINDOWS) #if defined(POCO_OS_FAMILY_WINDOWS)
#if defined(_WIN32_WCE)
#include "Poco/Thread_WINCE.h"
#else
#include "Poco/Thread_WIN32.h" #include "Poco/Thread_WIN32.h"
#endif
#else #else
#include "Poco/Thread_POSIX.h" #include "Poco/Thread_POSIX.h"
#endif #endif
namespace Poco { namespace Poco {
class Runnable; class Runnable;
class ThreadLocalStorage; class ThreadLocalStorage;
class Foundation_API Thread: private ThreadImpl class Foundation_API Thread: private ThreadImpl
skipping to change at line 120 skipping to change at line 124
/// Returns the thread's priority. /// Returns the thread's priority.
void setOSPriority(int prio); void setOSPriority(int prio);
/// Sets the thread's priority, using an operating system sp ecific /// Sets the thread's priority, using an operating system sp ecific
/// priority value. Use getMinOSPriority() and getMaxOSPrior ity() to /// priority value. Use getMinOSPriority() and getMaxOSPrior ity() to
/// obtain mininum and maximum priority values. /// obtain mininum and maximum priority values.
int getOSPriority() const; int getOSPriority() const;
/// Returns the thread's priority, expressed as an operating system /// Returns the thread's priority, expressed as an operating system
/// specific priority value. /// specific priority value.
///
/// May return 0 if the priority has not been explicitly set
.
static int getMinOSPriority(); static int getMinOSPriority();
/// Returns the mininum operating system-specific priority v alue, /// Returns the mininum operating system-specific priority v alue,
/// which can be passed to setOSPriority(). /// which can be passed to setOSPriority().
static int getMaxOSPriority(); static int getMaxOSPriority();
/// Returns the maximum operating system-specific priority v alue, /// Returns the maximum operating system-specific priority v alue,
/// which can be passed to setOSPriority(). /// which can be passed to setOSPriority().
void setStackSize(int size); void setStackSize(int size);
 End of changes. 4 change blocks. 
1 lines changed or deleted 8 lines changed or added


 ThreadLocal.h   ThreadLocal.h 
// //
// ThreadLocal.h // ThreadLocal.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ThreadLocal.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/ThreadLocal.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the ThreadLocal template and related classes. // Definition of the ThreadLocal template and related classes.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ThreadPool.h   ThreadPool.h 
// //
// ThreadPool.h // ThreadPool.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ThreadPool.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/ThreadPool.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ThreadPool // Module: ThreadPool
// //
// Definition of the ThreadPool class. // Definition of the ThreadPool 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 71 skipping to change at line 71
/// running. If the demans for threads increases, additional /// running. If the demans for threads increases, additional
/// threads are created. Once the demand for threads sinks /// threads are created. Once the demand for threads sinks
/// again, no-longer used threads are stopped and removed /// again, no-longer used threads are stopped and removed
/// from the pool. /// from the pool.
{ {
public: public:
ThreadPool(int minCapacity = 2, ThreadPool(int minCapacity = 2,
int maxCapacity = 16, int maxCapacity = 16,
int idleTime = 60, int idleTime = 60,
int stackSize = POCO_THREAD_STACK_SIZE); int stackSize = POCO_THREAD_STACK_SIZE);
/// Creates a thread pool with minCapacity threads.
/// If required, up to maxCapacity threads are created
/// a NoThreadAvailableException exception is thrown.
/// If a thread is running idle for more than idleTime secon
ds,
/// and more than minCapacity threads are running, the threa
d
/// is killed. Threads are created with given stack size.
ThreadPool(const std::string& name, ThreadPool(const std::string& name,
int minCapacity = 2, int minCapacity = 2,
int maxCapacity = 16, int maxCapacity = 16,
int idleTime = 60, int idleTime = 60,
int stackSize = POCO_THREAD_STACK_SIZE); int stackSize = POCO_THREAD_STACK_SIZE);
/// Creates a thread pool with minCapacity threads. /// Creates a thread pool with the given name and minCapacit y threads.
/// If required, up to maxCapacity threads are created /// If required, up to maxCapacity threads are created
/// a NoThreadAvailableException exception is thrown. /// a NoThreadAvailableException exception is thrown.
/// If a thread is running idle for more than idleTime secon ds, /// If a thread is running idle for more than idleTime secon ds,
/// and more than minCapacity threads are running, the threa d /// and more than minCapacity threads are running, the threa d
/// is killed. Threads are created with given stack size. /// is killed. Threads are created with given stack size.
~ThreadPool(); ~ThreadPool();
/// Currently running threads will remain active /// Currently running threads will remain active
/// until they complete. /// until they complete.
skipping to change at line 133 skipping to change at line 140
/// Throws a NoThreadAvailableException if no more /// Throws a NoThreadAvailableException if no more
/// threads are available. /// threads are available.
void startWithPriority(Thread::Priority priority, Runnable& target, const std::string& name); void startWithPriority(Thread::Priority priority, Runnable& target, const std::string& name);
/// Obtains a thread, adjusts the thread's priority, and sta rts the target. /// Obtains a thread, adjusts the thread's priority, and sta rts the target.
/// Assigns the given name to the thread. /// Assigns the given name to the thread.
/// Throws a NoThreadAvailableException if no more /// Throws a NoThreadAvailableException if no more
/// threads are available. /// threads are available.
void stopAll(); void stopAll();
/// Stops all running threads. /// Stops all running threads and waits for their completion
.
///
/// Will also delete all thread objects. /// Will also delete all thread objects.
/// If used, this method should be the last action before /// If used, this method should be the last action before
/// the thread pool is deleted. /// the thread pool is deleted.
///
/// Note: If a thread fails to stop within 10 seconds
/// (due to a programming error, for example), the
/// underlying thread object will not be deleted and
/// this method will return anyway. This allows for a
/// more or less graceful shutdown in case of a misbehaving
/// thread.
void joinAll(); void joinAll();
/// Waits for all threads to complete. /// Waits for all threads to complete.
///
/// Note that this will not actually join() the underlying
/// thread, but rather wait for the thread's runnables
/// to finish.
void collect(); void collect();
/// Stops and removes no longer used threads from the /// Stops and removes no longer used threads from the
/// thread pool. Can be called at various times in an /// thread pool. Can be called at various times in an
/// application's life time to help the thread pool /// application's life time to help the thread pool
/// manage its threads. Calling this method is optional, /// manage its threads. Calling this method is optional,
/// as the thread pool is also implicitly managed in /// as the thread pool is also implicitly managed in
/// calls to start(), addCapacity() and joinAll(). /// calls to start(), addCapacity() and joinAll().
const std::string& name() const;
/// Returns the name of the thread pool,
/// or an empty string if no name has been
/// specified in the constructor.
static ThreadPool& defaultPool(); static ThreadPool& defaultPool();
/// Returns a reference to the default /// Returns a reference to the default
/// thread pool. /// thread pool.
protected: protected:
PooledThread* getThread(); PooledThread* getThread();
PooledThread* createThread(); PooledThread* createThread();
void housekeep(); void housekeep();
skipping to change at line 189 skipping to change at line 213
inline void ThreadPool::setStackSize(int stackSize) inline void ThreadPool::setStackSize(int stackSize)
{ {
_stackSize = stackSize; _stackSize = stackSize;
} }
inline int ThreadPool::getStackSize() const inline int ThreadPool::getStackSize() const
{ {
return _stackSize; return _stackSize;
} }
inline const std::string& ThreadPool::name() const
{
return _name;
}
} // namespace Poco } // namespace Poco
#endif // Foundation_ThreadPool_INCLUDED #endif // Foundation_ThreadPool_INCLUDED
 End of changes. 8 change blocks. 
3 lines changed or deleted 35 lines changed or added


 ThreadTarget.h   ThreadTarget.h 
// //
// ThreadTarget.h // ThreadTarget.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ThreadTarget.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/ThreadTarget.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: ThreadTarget // Module: ThreadTarget
// //
// Definition of the ThreadTarget class. // Definition of the ThreadTarget class.
// //
// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. // Copyright (c) 2008, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 61 skipping to change at line 61
/// scenarios where Runnable abstract class is used. /// scenarios where Runnable abstract class is used.
/// ///
/// For using a non-static member function as a thread target, pleas e /// For using a non-static member function as a thread target, pleas e
/// see the RunnableAdapter class. /// see the RunnableAdapter class.
/// ///
/// Usage: /// Usage:
/// class MyObject /// class MyObject
/// { /// {
/// static void doSomething() {} /// static void doSomething() {}
/// }; /// };
/// ThreadTarget ra(&MyObject::doSomething)); /// ThreadTarget ra(&MyObject::doSomething);
/// Thread thr; /// Thread thr;
/// thr.start(ra); /// thr.start(ra);
/// ///
/// or: /// or:
/// ///
/// void doSomething() {} /// void doSomething() {}
/// ///
/// ThreadTarget ra(doSomething)); /// ThreadTarget ra(doSomething);
/// Thread thr; /// Thread thr;
/// thr.start(ra); /// thr.start(ra);
{ {
public: public:
typedef void (*Callback)(); typedef void (*Callback)();
ThreadTarget(Callback method); ThreadTarget(Callback method);
ThreadTarget(const ThreadTarget& te); ThreadTarget(const ThreadTarget& te);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Thread_POSIX.h   Thread_POSIX.h 
// //
// Thread_POSIX.h // Thread_POSIX.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Thread_POSIX.h#10 $ // $Id: //poco/1.4/Foundation/include/Poco/Thread_POSIX.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the ThreadImpl class for POSIX Threads. // Definition of the ThreadImpl class for POSIX Threads.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
skipping to change at line 144 skipping to change at line 144
pthread_key_t _key; pthread_key_t _key;
}; };
struct ThreadData: public RefCountedObject struct ThreadData: public RefCountedObject
{ {
ThreadData(): ThreadData():
pRunnableTarget(0), pRunnableTarget(0),
pCallbackTarget(0), pCallbackTarget(0),
thread(0), thread(0),
prio(PRIO_NORMAL_IMPL), prio(PRIO_NORMAL_IMPL),
osPrio(0),
done(false), done(false),
stackSize(POCO_THREAD_STACK_SIZE) stackSize(POCO_THREAD_STACK_SIZE)
{ {
} }
Runnable* pRunnableTarget; Runnable* pRunnableTarget;
AutoPtr<CallbackData> pCallbackTarget; AutoPtr<CallbackData> pCallbackTarget;
pthread_t thread; pthread_t thread;
int prio; int prio;
int osPrio; int osPrio;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 Thread_WIN32.h   Thread_WIN32.h 
// //
// Thread_WIN32.h // Thread_WIN32.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Thread_WIN32.h#10 $ // $Id: //poco/1.4/Foundation/include/Poco/Thread_WIN32.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Thread // Module: Thread
// //
// Definition of the ThreadImpl class for WIN32. // Definition of the ThreadImpl class for WIN32.
// //
// Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TimedNotificationQueue.h   TimedNotificationQueue.h 
// //
// TimedNotificationQueue.h // TimedNotificationQueue.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/TimedNotificationQueue.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/TimedNotificationQueue.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Notifications // Package: Notifications
// Module: TimedNotificationQueue // Module: TimedNotificationQueue
// //
// Definition of the TimedNotificationQueue class. // Definition of the TimedNotificationQueue class.
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Timer.h   Timer.h 
// //
// Timer.h // Timer.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Timer.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/Timer.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Threading // Package: Threading
// Module: Timer // Module: Timer
// //
// Definition of the Timer and related classes. // Definition of the Timer and related classes.
// //
// 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 75 skipping to change at line 75
/// ///
/// The exact interval at which the callback is called depends on ma ny /// The exact interval at which the callback is called depends on ma ny
/// factors like operating system, CPU performance and system load a nd /// factors like operating system, CPU performance and system load a nd
/// may differ from the specified interval. /// may differ from the specified interval.
/// ///
/// The time needed to execute the timer callback is not included /// The time needed to execute the timer callback is not included
/// in the interval between invocations. For example, if the interva l /// in the interval between invocations. For example, if the interva l
/// is 500 milliseconds, and the callback needs 400 milliseconds to /// is 500 milliseconds, and the callback needs 400 milliseconds to
/// execute, the callback function is nevertheless called every 500 /// execute, the callback function is nevertheless called every 500
/// milliseconds. If the callback takes longer to execute than the /// milliseconds. If the callback takes longer to execute than the
/// interval, the callback function will be immediately called again /// interval, the callback function will not be called until the nex
/// once it returns. t
/// proper interval. The number of skipped invocations since the las
t
/// invocation will be recorded and can be obtained by the callback
/// by calling skipped().
/// ///
/// The timer thread is taken from a thread pool, so /// The timer thread is taken from a thread pool, so
/// there is a limit to the number of available concurrent timers. /// there is a limit to the number of available concurrent timers.
{ {
public: public:
Timer(long startInterval = 0, long periodicInterval = 0); Timer(long startInterval = 0, long periodicInterval = 0);
/// Creates a new timer object. StartInterval and periodicIn terval /// Creates a new timer object. StartInterval and periodicIn terval
/// are given in milliseconds. If a periodicInterval of zero is /// are given in milliseconds. If a periodicInterval of zero is
/// specified, the callback will only be called once, after the /// specified, the callback will only be called once, after the
/// startInterval expires. /// startInterval expires.
skipping to change at line 150 skipping to change at line 152
/// effective before start() is called. /// effective before start() is called.
long getPeriodicInterval() const; long getPeriodicInterval() const;
/// Returns the periodic interval. /// Returns the periodic interval.
void setPeriodicInterval(long milliseconds); void setPeriodicInterval(long milliseconds);
/// Sets the periodic interval. If the timer is already runn ing /// Sets the periodic interval. If the timer is already runn ing
/// the new interval will be effective when the current inte rval /// the new interval will be effective when the current inte rval
/// expires. /// expires.
long skipped() const;
/// Returns the number of skipped invocations since the last
invocation.
/// Skipped invocations happen if the timer callback functio
n takes
/// longer to execute than the timer interval.
protected: protected:
void run(); void run();
private: private:
volatile long _startInterval; volatile long _startInterval;
volatile long _periodicInterval; volatile long _periodicInterval;
Event _wakeUp; Event _wakeUp;
Event _done; Event _done;
long _skipped;
AbstractTimerCallback* _pCallback; AbstractTimerCallback* _pCallback;
Timestamp _nextInvocation; Timestamp _nextInvocation;
mutable FastMutex _mutex; mutable FastMutex _mutex;
Timer(const Timer&); Timer(const Timer&);
Timer& operator = (const Timer&); Timer& operator = (const Timer&);
}; };
class Foundation_API AbstractTimerCallback class Foundation_API AbstractTimerCallback
/// This is the base class for all instantiations of /// This is the base class for all instantiations of
 End of changes. 4 change blocks. 
3 lines changed or deleted 15 lines changed or added


 TimerTask.h   TimerTask.h 
// //
// TimerTask.h // TimerTask.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/TimerTask.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/TimerTask.h#1 $
// //
// Library: Util // Library: Util
// Package: Timer // Package: Timer
// Module: TimerTask // Module: TimerTask
// //
// Definition of the TimerTask class. // Definition of the TimerTask class.
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TimerTaskAdapter.h   TimerTaskAdapter.h 
// //
// TimerTaskAdapter.h // TimerTaskAdapter.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/TimerTaskAdapter.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/TimerTaskAdapter.h#1 $
// //
// Library: Util // Library: Util
// Package: Timer // Package: Timer
// Module: TimerTaskAdapter // Module: TimerTaskAdapter
// //
// Definition of the TimerTaskAdapter class template. // Definition of the TimerTaskAdapter class template.
// //
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH. // Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Timestamp.h   Timestamp.h 
// //
// Timestamp.h // Timestamp.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Timestamp.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/Timestamp.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: DateTime // Package: DateTime
// Module: Timestamp // Module: Timestamp
// //
// Definition of the Timestamp class. // Definition of the Timestamp class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 Token.h   Token.h 
// //
// Token.h // Token.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Token.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Token.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamTokenizer // Module: StreamTokenizer
// //
// Definition of the Token class. // Definition of the Token class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TreeWalker.h   TreeWalker.h 
// //
// TreeWalker.h // TreeWalker.h
// //
// $Id: //poco/1.3/XML/include/Poco/DOM/TreeWalker.h#1 $ // $Id: //poco/1.4/XML/include/Poco/DOM/TreeWalker.h#1 $
// //
// Library: XML // Library: XML
// Package: DOM // Package: DOM
// Module: TreeWalker // Module: TreeWalker
// //
// Definition of the DOM TreeWalker class. // Definition of the DOM TreeWalker 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 78 skipping to change at line 78
/// ///
/// If the TreeWalker's current node is removed from the document, t he /// If the TreeWalker's current node is removed from the document, t he
/// result of calling any of the movement methods is undefined. This behavior /// result of calling any of the movement methods is undefined. This behavior
/// does not conform to the DOM Level 2 Traversal specification. /// does not conform to the DOM Level 2 Traversal specification.
{ {
public: public:
TreeWalker(Node* root, unsigned long whatToShow, NodeFilter* pFilter = 0); TreeWalker(Node* root, unsigned long whatToShow, NodeFilter* pFilter = 0);
/// Creates a TreeWalker over the subtree rooted at the spec ified node. /// Creates a TreeWalker over the subtree rooted at the spec ified node.
TreeWalker(const TreeWalker& walker); TreeWalker(const TreeWalker& walker);
/// Creates a TreeWalker by copying another NodeIterator. /// Creates a TreeWalker by copying another TreeWalker.
TreeWalker& operator = (const TreeWalker& walker); TreeWalker& operator = (const TreeWalker& walker);
/// Assignment operator. /// Assignment operator.
~TreeWalker(); ~TreeWalker();
/// Destroys the TreeWalker. /// Destroys the TreeWalker.
Node* root() const; Node* root() const;
/// The root node of the TreeWalker, as specified when it wa s created. /// The root node of the TreeWalker, as specified when it wa s created.
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Tuple.h   Tuple.h 
// //
// Tuple.h // Tuple.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Tuple.h#7 $ // $Id: //poco/1.4/Foundation/include/Poco/Tuple.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: Tuple // Module: Tuple
// //
// Definition of the Tuple class. // Definition of the Tuple class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TypeList.h   TypeList.h 
// //
// TypeList.h // TypeList.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/TypeList.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/TypeList.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: TypeList // Module: TypeList
// //
// Implementation of the TypeList template. // Implementation of the TypeList template.
// //
// 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 42 skipping to change at line 42
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_TypeList_INCLUDED #ifndef Foundation_TypeList_INCLUDED
#define Foundation_TypeList_INCLUDED #define Foundation_TypeList_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "Poco/MetaProgramming.h" #include "Poco/MetaProgramming.h"
namespace Poco { namespace Poco {
template <class Head, class Tail> template <class Head, class Tail>
struct TypeList; struct TypeList;
struct NullTypeList struct NullTypeList
skipping to change at line 444 skipping to change at line 444
}; };
template <class Head, class Tail, class T, class R> template <class Head, class Tail, class T, class R>
struct TypeAllReplacer<TypeList<Head, Tail>, T, R> struct TypeAllReplacer<TypeList<Head, Tail>, T, R>
{ {
typedef TypeList<Head, typename TypeAllReplacer<Tail, T, R>::HeadTyp e> HeadType; typedef TypeList<Head, typename TypeAllReplacer<Tail, T, R>::HeadTyp e> HeadType;
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_TypeList_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Types.h   Types.h 
// //
// Types.h // Types.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Types.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/Types.h#1 $
// //
// 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 66 skipping to change at line 66
typedef unsigned __int64 UInt64; typedef unsigned __int64 UInt64;
#if defined(_WIN64) #if defined(_WIN64)
#define POCO_PTR_IS_64_BIT 1 #define POCO_PTR_IS_64_BIT 1
typedef signed __int64 IntPtr; typedef signed __int64 IntPtr;
typedef unsigned __int64 UIntPtr; typedef unsigned __int64 UIntPtr;
#else #else
typedef signed long IntPtr; typedef signed long IntPtr;
typedef unsigned long UIntPtr; typedef unsigned long UIntPtr;
#endif #endif
#define POCO_HAVE_INT64 1 #define POCO_HAVE_INT64 1
#elif defined(__GNUC__) #elif defined(__GNUC__) || defined(__clang__)
// //
// Unix/GCC // Unix/GCC
// //
typedef signed char Int8; typedef signed char Int8;
typedef unsigned char UInt8; typedef unsigned char UInt8;
typedef signed short Int16; typedef signed short Int16;
typedef unsigned short UInt16; typedef unsigned short UInt16;
typedef signed int Int32; typedef signed int Int32;
typedef unsigned int UInt32; typedef unsigned int UInt32;
typedef signed long IntPtr; typedef signed long IntPtr;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


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


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


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


 UTF16Encoding.h   UTF16Encoding.h 
// //
// UTF16Encoding.h // UTF16Encoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UTF16Encoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/UTF16Encoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: UTF16Encoding // Module: UTF16Encoding
// //
// Definition of the UTF16Encoding class. // Definition of the UTF16Encoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UTF8Encoding.h   UTF8Encoding.h 
// //
// UTF8Encoding.h // UTF8Encoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UTF8Encoding.h#6 $ // $Id: //poco/1.4/Foundation/include/Poco/UTF8Encoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: UTF8Encoding // Module: UTF8Encoding
// //
// Definition of the UTF8Encoding class. // Definition of the UTF8Encoding class.
// //
// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UTF8String.h   UTF8String.h 
// //
// UTF8String.h // UTF8String.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UTF8String.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/UTF8String.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: UTF8String // Module: UTF8String
// //
// Definition of the UTF8 string functions. // Definition of the UTF8 string functions.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UUID.h   UUID.h 
// //
// UUID.h // UUID.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UUID.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/UUID.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: UUID // Package: UUID
// Module: UUID // Module: UUID
// //
// Definition of the UUID class. // Definition of the UUID 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 95 skipping to change at line 95
UUID& operator = (const UUID& uuid); UUID& operator = (const UUID& uuid);
/// Assignment operator. /// Assignment operator.
void swap(UUID& uuid); void swap(UUID& uuid);
/// Swaps the UUID with another one. /// Swaps the UUID with another one.
void parse(const std::string& uuid); void parse(const std::string& uuid);
/// Parses the UUID from its string representation. /// Parses the UUID from its string representation.
bool tryParse(const std::string& uuid);
/// Tries to interpret the given string as an UUID.
/// If the UUID is syntactically valid, assigns the
/// members and returns true. Otherwise leaves the
/// object unchanged and returns false.
std::string toString() const; std::string toString() const;
/// Returns a string representation of the UUID consisting /// Returns a string representation of the UUID consisting
/// of groups of hexadecimal digits separated by hyphens. /// of groups of hexadecimal digits separated by hyphens.
void copyFrom(const char* buffer); void copyFrom(const char* buffer);
/// Copies the UUID (16 bytes) from a buffer or byte array. /// Copies the UUID (16 bytes) from a buffer or byte array.
/// The UUID fields are expected to be /// The UUID fields are expected to be
/// stored in network byte order. /// stored in network byte order.
/// The buffer need not be aligned. /// The buffer need not be aligned.
skipping to change at line 128 skipping to change at line 134
/// - 6 reserved, Microsoft Corporation backward compatibi lity /// - 6 reserved, Microsoft Corporation backward compatibi lity
/// - 7 reserved for future definition /// - 7 reserved for future definition
bool operator == (const UUID& uuid) const; bool operator == (const UUID& uuid) const;
bool operator != (const UUID& uuid) const; bool operator != (const UUID& uuid) const;
bool operator < (const UUID& uuid) const; bool operator < (const UUID& uuid) const;
bool operator <= (const UUID& uuid) const; bool operator <= (const UUID& uuid) const;
bool operator > (const UUID& uuid) const; bool operator > (const UUID& uuid) const;
bool operator >= (const UUID& uuid) const; bool operator >= (const UUID& uuid) const;
bool isNil() const; bool isNull() const;
/// Returns true iff the UUID is nil (in other words, /// Returns true iff the UUID is nil (in other words,
/// consists of all zeros). /// consists of all zeros).
static const UUID& nil(); static const UUID& null();
/// Returns a nil UUID. /// Returns a null/nil UUID.
static const UUID& dns(); static const UUID& dns();
/// Returns the namespace identifier for the DNS namespace. /// Returns the namespace identifier for the DNS namespace.
static const UUID& uri(); static const UUID& uri();
/// Returns the namespace identifier for the URI (former URL ) namespace. /// Returns the namespace identifier for the URI (former URL ) namespace.
static const UUID& oid(); static const UUID& oid();
/// Returns the namespace identifier for the OID namespace. /// Returns the namespace identifier for the OID namespace.
skipping to change at line 206 skipping to change at line 212
inline bool UUID::operator >= (const UUID& uuid) const inline bool UUID::operator >= (const UUID& uuid) const
{ {
return compare(uuid) >= 0; return compare(uuid) >= 0;
} }
inline UUID::Version UUID::version() const inline UUID::Version UUID::version() const
{ {
return Version(_timeHiAndVersion >> 12); return Version(_timeHiAndVersion >> 12);
} }
inline bool UUID::isNil() const inline bool UUID::isNull() const
{ {
return compare(nil()) == 0; return compare(null()) == 0;
} }
inline void swap(UUID& u1, UUID& u2) inline void swap(UUID& u1, UUID& u2)
{ {
u1.swap(u2); u1.swap(u2);
} }
} // namespace Poco } // namespace Poco
#endif // Foundation_UUID_INCLUDED #endif // Foundation_UUID_INCLUDED
 End of changes. 6 change blocks. 
6 lines changed or deleted 12 lines changed or added


 UUIDGenerator.h   UUIDGenerator.h 
// //
// UUIDGenerator.h // UUIDGenerator.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UUIDGenerator.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/UUIDGenerator.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: UUID // Package: UUID
// Module: UUID // Module: UUID
// //
// Definition of the UUIDGenerator class. // Definition of the UUIDGenerator class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UnWindows.h   UnWindows.h 
// //
// UnWindows.h // UnWindows.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UnWindows.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/UnWindows.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Core // Package: Core
// Module: UnWindows // Module: UnWindows
// //
// A wrapper around the <windows.h> header file that #undef's some // A wrapper around the <windows.h> header file that #undef's some
// of the macros for function names defined by <windows.h> that // of the macros for function names defined by <windows.h> that
// are a frequent source of conflicts (e.g., GetUserName). // are a frequent source of conflicts (e.g., GetUserName).
// //
// Remember, that most of the WIN32 API functions come in two variants, // Remember, that most of the WIN32 API functions come in two variants,
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UnbufferedStreamBuf.h   UnbufferedStreamBuf.h 
// //
// UnufferedStreamBuf.h // UnufferedStreamBuf.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UnbufferedStreamBuf.h#3 $ // $Id: //poco/1.4/Foundation/include/Poco/UnbufferedStreamBuf.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Streams // Package: Streams
// Module: StreamBuf // Module: StreamBuf
// //
// Definition of template BasicUnbufferedStreamBuf and class UnbufferedStre amBuf. // Definition of template BasicUnbufferedStreamBuf and class UnbufferedStre amBuf.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Unicode.h   Unicode.h 
// //
// Unicode.h // Unicode.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Unicode.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/Unicode.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: Unicode // Module: Unicode
// //
// Definition of the Unicode class. // Definition of the Unicode 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 200 skipping to change at line 200
{ {
CharacterCategory category; CharacterCategory category;
CharacterType type; CharacterType type;
Script script; Script script;
}; };
static void properties(int ch, CharacterProperties& props); static void properties(int ch, CharacterProperties& props);
/// Return the Unicode character properties for the /// Return the Unicode character properties for the
/// character with the given Unicode value. /// character with the given Unicode value.
static bool isSpace(int ch);
/// Returns true iff the given character is a separator.
static bool isDigit(int ch);
/// Returns true iff the given character is a numeric charac
ter.
static bool isPunct(int ch);
/// Returns true iff the given character is a punctuation ch
aracter.
static bool isAlpha(int ch);
/// Returns true iff the given character is a letter.
static bool isLower(int ch); static bool isLower(int ch);
/// Returns true iff the given character is a lowercase /// Returns true iff the given character is a lowercase
/// character. /// character.
static bool isUpper(int ch); static bool isUpper(int ch);
/// Returns true iff the given character is an uppercase /// Returns true iff the given character is an uppercase
/// character. /// character.
static int toLower(int ch); static int toLower(int ch);
/// If the given character is an uppercase character, /// If the given character is an uppercase character,
/// return its lowercase counterpart, otherwise return /// return its lowercase counterpart, otherwise return
/// the character. /// the character.
static int toUpper(int ch); static int toUpper(int ch);
/// If the given character is a lowercase character, /// If the given character is a lowercase character,
/// return its uppercase counterpart, otherwise return /// return its uppercase counterpart, otherwise return
/// the character. /// the character.
}; };
//
// inlines
//
inline bool Unicode::isSpace(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_SEPARATOR;
}
inline bool Unicode::isDigit(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_NUMBER;
}
inline bool Unicode::isPunct(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_PUNCTUATION;
}
inline bool Unicode::isAlpha(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_LETTER;
}
inline bool Unicode::isLower(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_LETTER && props.type == UCP_LOWER_CASE_
LETTER;
}
inline bool Unicode::isUpper(int ch)
{
CharacterProperties props;
properties(ch, props);
return props.category == UCP_LETTER && props.type == UCP_UPPER_CASE_
LETTER;
}
} // namespace Poco } // namespace Poco
#endif // Foundation_Unicode_INCLUDED #endif // Foundation_Unicode_INCLUDED
 End of changes. 3 change blocks. 
1 lines changed or deleted 62 lines changed or added


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


 UniqueAccessExpireCache.h   UniqueAccessExpireCache.h 
// //
// UniqueAccessExpireCache.h // UniqueAccessExpireCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueAccessExpireCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueAccessExpireCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueAccessExpireCache // Module: UniqueAccessExpireCache
// //
// Definition of the UniqueAccessExpireCache class. // Definition of the UniqueAccessExpireCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueAccessExpireCache_INCLUDED #ifndef Foundation_UniqueAccessExpireCache_INCLUDED
#define Foundation_UniqueAccessExpireCache_INCLUDED #define Foundation_UniqueAccessExpireCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/UniqueAccessExpireStrategy.h" #include "Poco/UniqueAccessExpireStrategy.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <
class UniqueAccessExpireCache: public AbstractCache<TKey, TValue, UniqueAcc class TKey,
essExpireStrategy<TKey, TValue> > class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
>
class UniqueAccessExpireCache: public AbstractCache<TKey, TValue, UniqueAcc
essExpireStrategy<TKey, TValue>, TMutex, TEventMutex>
/// An UniqueAccessExpireCache caches entries for a given time span. In contrast /// An UniqueAccessExpireCache caches entries for a given time span. In contrast
/// to ExpireCache which only allows to set a per cache expiration v alue, it allows to define /// to ExpireCache which only allows to set a per cache expiration v alue, it allows to define
/// expiration per CacheEntry. /// expiration per CacheEntry.
/// Each TValue object must thus offer the following method: /// Each TValue object must thus offer the following method:
/// ///
/// const Poco::Timespan& getTimeout() const; /// const Poco::Timespan& getTimeout() const;
/// ///
/// which returns the relative timespan for how long the entry shoul d be valid without being accessed! /// which returns the relative timespan for how long the entry shoul d be valid without being accessed!
/// The absolute expire timepoint is calculated as now() + getTimeou t(). /// The absolute expire timepoint is calculated as now() + getTimeou t().
/// Accessing an object will update this absolute expire timepoint. /// Accessing an object will update this absolute expire timepoint.
skipping to change at line 69 skipping to change at line 74
/// method to values that do not have a getExpiration function. /// method to values that do not have a getExpiration function.
/// ///
/// Be careful when using an UniqueAccessExpireCache. A cache is oft en used /// Be careful when using an UniqueAccessExpireCache. A cache is oft en used
/// like cache.has(x) followed by cache.get x). Note that it could h appen /// like cache.has(x) followed by cache.get x). Note that it could h appen
/// that the "has" call works, then the current execution thread get s descheduled, time passes, /// that the "has" call works, then the current execution thread get s descheduled, time passes,
/// the entry gets invalid, thus leading to an empty SharedPtr being returned /// the entry gets invalid, thus leading to an empty SharedPtr being returned
/// when "get" is invoked. /// when "get" is invoked.
{ {
public: public:
UniqueAccessExpireCache(): UniqueAccessExpireCache():
AbstractCache<TKey, TValue, UniqueAccessExpireStrategy<TKey, TValue> >(UniqueAccessExpireStrategy<TKey, TValue>()) AbstractCache<TKey, TValue, UniqueAccessExpireStrategy<TKey, TValue>, TMutex, TEventMutex>(UniqueAccessExpireStrategy<TKey, TValue>())
{ {
} }
~UniqueAccessExpireCache() ~UniqueAccessExpireCache()
{ {
} }
private: private:
UniqueAccessExpireCache(const UniqueAccessExpireCache& aCache); UniqueAccessExpireCache(const UniqueAccessExpireCache& aCache);
UniqueAccessExpireCache& operator = (const UniqueAccessExpireCache& aCache); UniqueAccessExpireCache& operator = (const UniqueAccessExpireCache& aCache);
 End of changes. 4 change blocks. 
7 lines changed or deleted 12 lines changed or added


 UniqueAccessExpireLRUCache.h   UniqueAccessExpireLRUCache.h 
// //
// UniqueAccessExpireLRUCache.h // UniqueAccessExpireLRUCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueAccessExpireLRUCache.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueAccessExpireLRUCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueAccessExpireLRUCache // Module: UniqueAccessExpireLRUCache
// //
// Definition of the UniqueAccessExpireLRUCache class. // Definition of the UniqueAccessExpireLRUCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueAccessExpireLRUCache_INCLUDED #ifndef Foundation_UniqueAccessExpireLRUCache_INCLUDED
#define Foundation_UniqueAccessExpireLRUCache_INCLUDED #define Foundation_UniqueAccessExpireLRUCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/StrategyCollection.h" #include "Poco/StrategyCollection.h"
#include "Poco/UniqueAccessExpireStrategy.h" #include "Poco/UniqueAccessExpireStrategy.h"
#include "Poco/LRUStrategy.h" #include "Poco/LRUStrategy.h"
namespace Poco { namespace Poco {
template < template <
class TKey, class TKey,
class TValue class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
> >
class UniqueAccessExpireLRUCache: public AbstractCache<TKey, TValue, Strate gyCollection<TKey, TValue> > class UniqueAccessExpireLRUCache: public AbstractCache<TKey, TValue, Strate gyCollection<TKey, TValue>, TMutex, TEventMutex>
/// A UniqueAccessExpireLRUCache combines LRU caching and time based per entry expire caching. /// A UniqueAccessExpireLRUCache combines LRU caching and time based per entry expire caching.
/// One can define for each cache entry a seperate timepoint /// One can define for each cache entry a seperate timepoint
/// but also limit the size of the cache (per default: 1024). /// but also limit the size of the cache (per default: 1024).
/// Each TValue object must thus offer the following method: /// Each TValue object must thus offer the following method:
/// ///
/// const Poco::Timespan& getTimeout() const; /// const Poco::Timespan& getTimeout() const;
/// ///
/// which returns the relative timespan for how long the entry shoul d be valid without being accessed! /// which returns the relative timespan for how long the entry shoul d be valid without being accessed!
/// The absolute expire timepoint is calculated as now() + getTimeou t(). /// The absolute expire timepoint is calculated as now() + getTimeou t().
/// Accessing an object will update this absolute expire timepoint. /// Accessing an object will update this absolute expire timepoint.
/// You can use the Poco::AccessExpirationDecorator to add the getEx piration /// You can use the Poco::AccessExpirationDecorator to add the getEx piration
/// method to values that do not have a getExpiration function. /// method to values that do not have a getExpiration function.
{ {
public: public:
UniqueAccessExpireLRUCache(long cacheSize = 1024): UniqueAccessExpireLRUCache(long cacheSize = 1024):
AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> >(StrategyCollection<TKey, TValue>()) AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> , TMutex, TEventMutex>(StrategyCollection<TKey, TValue>())
{ {
this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size)); this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size));
this->_strategy.pushBack(new UniqueAccessExpireStrategy<TKey , TValue>()); this->_strategy.pushBack(new UniqueAccessExpireStrategy<TKey , TValue>());
} }
~UniqueAccessExpireLRUCache() ~UniqueAccessExpireLRUCache()
{ {
} }
private: private:
 End of changes. 5 change blocks. 
6 lines changed or deleted 8 lines changed or added


 UniqueAccessExpireStrategy.h   UniqueAccessExpireStrategy.h 
// //
// UniqueAccessExpireStrategy.h // UniqueAccessExpireStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueAccessExpireStrategy.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueAccessExpireStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueAccessExpireStrategy // Module: UniqueAccessExpireStrategy
// //
// Definition of the UniqueAccessExpireStrategy class. // Definition of the UniqueAccessExpireStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueAccessExpireStrategy_INCLUDED #ifndef Foundation_UniqueAccessExpireStrategy_INCLUDED
#define Foundation_UniqueAccessExpireStrategy_INCLUDED #define Foundation_UniqueAccessExpireStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/AbstractStrategy.h" #include "Poco/AbstractStrategy.h"
#include "Poco/Bugcheck.h" #include "Poco/Bugcheck.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/Timespan.h" #include "Poco/Timespan.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include "Poco/UniqueExpireStrategy.h" #include "Poco/UniqueExpireStrategy.h"
#include <set> #include <set>
skipping to change at line 69 skipping to change at line 69
/// An UniqueExpireStrategy implements time based expiration of cach e entries. In contrast /// An UniqueExpireStrategy implements time based expiration of cach e entries. In contrast
/// to ExpireStrategy which only allows to set a per cache expiratio n value, it allows to define /// to ExpireStrategy which only allows to set a per cache expiratio n value, it allows to define
/// expiration per CacheEntry. /// expiration per CacheEntry.
/// Each TValue object must thus offer the following method: /// Each TValue object must thus offer the following method:
/// ///
/// const Poco::Timestamp& getTimeout() const; /// const Poco::Timestamp& getTimeout() const;
/// ///
/// which returns the timespan for how long an object will be valid without being accessed. /// which returns the timespan for how long an object will be valid without being accessed.
{ {
public: public:
typedef std::pair<TKey, Timespan> KeyExpire; typedef std::pair<TKey, Timespan> KeyExpire;
typedef std::multimap<Timestamp, KeyExpire> TimeIndex; typedef std::multimap<Timestamp, KeyExpire> TimeIndex;
typedef typename TimeIndex::iterator IndexIterator; typedef typename TimeIndex::iterator IndexIterator;
typedef typename TimeIndex::const_iterator ConstIndexIterator; typedef typename TimeIndex::const_iterator ConstIndexIterator;
typedef std::map<TKey, IndexIterator> Keys; typedef std::map<TKey, IndexIterator> Keys;
typedef typename Keys::iterator Iterator; typedef typename Keys::iterator Iterator;
public: public:
UniqueAccessExpireStrategy() UniqueAccessExpireStrategy()
/// Create an unique expire strategy. /// Create an unique expire strategy.
{ {
} }
~UniqueAccessExpireStrategy() ~UniqueAccessExpireStrategy()
{ {
} }
 End of changes. 3 change blocks. 
9 lines changed or deleted 9 lines changed or added


 UniqueExpireCache.h   UniqueExpireCache.h 
// //
// UniqueExpireCache.h // UniqueExpireCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueExpireCache.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueExpireCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueExpireCache // Module: UniqueExpireCache
// //
// Definition of the UniqueExpireCache class. // Definition of the UniqueExpireCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueExpireCache_INCLUDED #ifndef Foundation_UniqueExpireCache_INCLUDED
#define Foundation_UniqueExpireCache_INCLUDED #define Foundation_UniqueExpireCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/UniqueExpireStrategy.h" #include "Poco/UniqueExpireStrategy.h"
namespace Poco { namespace Poco {
template <class TKey, class TValue> template <
class UniqueExpireCache: public AbstractCache<TKey, TValue, UniqueExpireStr class TKey,
ategy<TKey, TValue> > class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
>
class UniqueExpireCache: public AbstractCache<TKey, TValue, UniqueExpireStr
ategy<TKey, TValue>, TMutex, TEventMutex>
/// An UniqueExpireCache caches entries for a given time amount. In contrast /// An UniqueExpireCache caches entries for a given time amount. In contrast
/// to ExpireCache which only allows to set a per cache expiration v alue, it allows to define /// to ExpireCache which only allows to set a per cache expiration v alue, it allows to define
/// expiration per CacheEntry. /// expiration per CacheEntry.
/// Each TValue object must thus offer the following method: /// Each TValue object must thus offer the following method:
/// ///
/// const Poco::Timestamp& getExpiration() const; /// const Poco::Timestamp& getExpiration() const;
/// ///
/// which returns the absolute timepoint when the entry will be inva lidated. /// which returns the absolute timepoint when the entry will be inva lidated.
/// Accessing an object will NOT update this absolute expire timepoi nt. /// Accessing an object will NOT update this absolute expire timepoi nt.
/// You can use the Poco::ExpirationDecorator to add the getExpirati on /// You can use the Poco::ExpirationDecorator to add the getExpirati on
/// method to values that do not have a getExpiration function. /// method to values that do not have a getExpiration function.
/// ///
/// Be careful when using an UniqueExpireCache. A cache is often use d /// Be careful when using an UniqueExpireCache. A cache is often use d
/// like cache.has(x) followed by cache.get x). Note that it could h appen /// like cache.has(x) followed by cache.get x). Note that it could h appen
/// that the "has" call works, then the current execution thread get s descheduled, time passes, /// that the "has" call works, then the current execution thread get s descheduled, time passes,
/// the entry gets invalid, thus leading to an empty SharedPtr being returned /// the entry gets invalid, thus leading to an empty SharedPtr being returned
/// when "get" is invoked. /// when "get" is invoked.
{ {
public: public:
UniqueExpireCache(): UniqueExpireCache():
AbstractCache<TKey, TValue, UniqueExpireStrategy<TKey, TValu e> >(UniqueExpireStrategy<TKey, TValue>()) AbstractCache<TKey, TValue, UniqueExpireStrategy<TKey, TValu e>, TMutex, TEventMutex>(UniqueExpireStrategy<TKey, TValue>())
{ {
} }
~UniqueExpireCache() ~UniqueExpireCache()
{ {
} }
private: private:
UniqueExpireCache(const UniqueExpireCache& aCache); UniqueExpireCache(const UniqueExpireCache& aCache);
UniqueExpireCache& operator = (const UniqueExpireCache& aCache); UniqueExpireCache& operator = (const UniqueExpireCache& aCache);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_UniqueExpireCache_INCLUDED
 End of changes. 5 change blocks. 
7 lines changed or deleted 12 lines changed or added


 UniqueExpireLRUCache.h   UniqueExpireLRUCache.h 
// //
// UniqueExpireLRUCache.h // UniqueExpireLRUCache.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueExpireLRUCache.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueExpireLRUCache.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueExpireLRUCache // Module: UniqueExpireLRUCache
// //
// Definition of the UniqueExpireLRUCache class. // Definition of the UniqueExpireLRUCache 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueExpireLRUCache_INCLUDED #ifndef Foundation_UniqueExpireLRUCache_INCLUDED
#define Foundation_UniqueExpireLRUCache_INCLUDED #define Foundation_UniqueExpireLRUCache_INCLUDED
#include "Poco/AbstractCache.h" #include "Poco/AbstractCache.h"
#include "Poco/StrategyCollection.h" #include "Poco/StrategyCollection.h"
#include "Poco/UniqueExpireStrategy.h" #include "Poco/UniqueExpireStrategy.h"
#include "Poco/LRUStrategy.h" #include "Poco/LRUStrategy.h"
namespace Poco { namespace Poco {
template < template <
class TKey, class TKey,
class TValue class TValue,
class TMutex = FastMutex,
class TEventMutex = FastMutex
> >
class UniqueExpireLRUCache: public AbstractCache<TKey, TValue, StrategyColl ection<TKey, TValue> > class UniqueExpireLRUCache: public AbstractCache<TKey, TValue, StrategyColl ection<TKey, TValue>, TMutex, TEventMutex>
/// A UniqueExpireLRUCache combines LRU caching and time based per e ntry expire caching. /// A UniqueExpireLRUCache combines LRU caching and time based per e ntry expire caching.
/// One can define for each cache entry a seperate timepoint /// One can define for each cache entry a seperate timepoint
/// but also limit the size of the cache (per default: 1024). /// but also limit the size of the cache (per default: 1024).
/// Each TValue object must thus offer the following method: /// Each TValue object must thus offer the following method:
/// ///
/// const Poco::Timestamp& getExpiration() const; /// const Poco::Timestamp& getExpiration() const;
/// ///
/// which returns the absolute timepoint when the entry will be inva lidated. /// which returns the absolute timepoint when the entry will be inva lidated.
/// Accessing an object will NOT update this absolute expire timepoi nt. /// Accessing an object will NOT update this absolute expire timepoi nt.
/// You can use the Poco::ExpirationDecorator to add the getExpirati on /// You can use the Poco::ExpirationDecorator to add the getExpirati on
/// method to values that do not have a getExpiration function. /// method to values that do not have a getExpiration function.
{ {
public: public:
UniqueExpireLRUCache(long cacheSize = 1024): UniqueExpireLRUCache(long cacheSize = 1024):
AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> >(StrategyCollection<TKey, TValue>()) AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue> , TMutex, TEventMutex>(StrategyCollection<TKey, TValue>())
{ {
this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size)); this->_strategy.pushBack(new LRUStrategy<TKey, TValue>(cache Size));
this->_strategy.pushBack(new UniqueExpireStrategy<TKey, TVal ue>()); this->_strategy.pushBack(new UniqueExpireStrategy<TKey, TVal ue>());
} }
~UniqueExpireLRUCache() ~UniqueExpireLRUCache()
{ {
} }
private: private:
UniqueExpireLRUCache(const UniqueExpireLRUCache& aCache); UniqueExpireLRUCache(const UniqueExpireLRUCache& aCache);
UniqueExpireLRUCache& operator = (const UniqueExpireLRUCache& aCache ); UniqueExpireLRUCache& operator = (const UniqueExpireLRUCache& aCache );
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_UniqueExpireLRUCache_INCLUDED
 End of changes. 6 change blocks. 
6 lines changed or deleted 8 lines changed or added


 UniqueExpireStrategy.h   UniqueExpireStrategy.h 
// //
// UniqueExpireStrategy.h // UniqueExpireStrategy.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/UniqueExpireStrategy.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/UniqueExpireStrategy.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: UniqueExpireStrategy // Module: UniqueExpireStrategy
// //
// Definition of the UniqueExpireStrategy class. // Definition of the UniqueExpireStrategy 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_UniqueExpireStrategy_INCLUDED #ifndef Foundation_UniqueExpireStrategy_INCLUDED
#define Foundation_UniqueExpireStrategy_INCLUDED #define Foundation_UniqueExpireStrategy_INCLUDED
#include "Poco/KeyValueArgs.h" #include "Poco/KeyValueArgs.h"
#include "Poco/ValidArgs.h" #include "Poco/ValidArgs.h"
#include "Poco/AbstractStrategy.h" #include "Poco/AbstractStrategy.h"
#include "Poco/Bugcheck.h" #include "Poco/Bugcheck.h"
#include "Poco/Timestamp.h" #include "Poco/Timestamp.h"
#include "Poco/EventArgs.h" #include "Poco/EventArgs.h"
#include <set> #include <set>
#include <map> #include <map>
skipping to change at line 154 skipping to change at line 154
} }
} }
protected: protected:
Keys _keys; /// For faster replacement of keys, the iterato r points to the _keyIndex map Keys _keys; /// For faster replacement of keys, the iterato r points to the _keyIndex map
TimeIndex _keyIndex; /// Maps time to key value TimeIndex _keyIndex; /// Maps time to key value
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_UniqueExpireStrategy_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Util.h   Util.h 
// //
// Util.h // Util.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/Util.h#2 $ // $Id: //poco/1.4/Util/include/Poco/Util/Util.h#1 $
// //
// Library: Util // Library: Util
// Package: Util // Package: Util
// Module: Util // Module: Util
// //
// Basic definitions for the Poco Util library. // Basic definitions for the Poco Util library.
// This file must be the first file included by every other Util // This file must be the first file included by every other Util
// header file. // header file.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
skipping to change at line 70 skipping to change at line 70
#if !defined(Util_API) #if !defined(Util_API)
#define Util_API #define Util_API
#endif #endif
// //
// Automatically link Util library. // Automatically link Util library.
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Util_EXPORTS) #if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Util_EXPORTS)
#if defined(POCO_DLL) #pragma comment(lib, "PocoUtil" POCO_LIB_SUFFIX)
#if defined(_DEBUG)
#pragma comment(lib, "PocoUtild.lib")
#else
#pragma comment(lib, "PocoUtil.lib")
#endif
#else
#if defined(_DEBUG)
#pragma comment(lib, "PocoUtilmtd.lib")
#else
#pragma comment(lib, "PocoUtilmt.lib")
#endif
#endif
#endif #endif
#endif #endif
#endif // Util_Util_INCLUDED #endif // Util_Util_INCLUDED
 End of changes. 2 change blocks. 
14 lines changed or deleted 2 lines changed or added


 ValidArgs.h   ValidArgs.h 
// //
// ValidArgs.h // ValidArgs.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/ValidArgs.h#1 $ // $Id: //poco/1.4/Foundation/include/Poco/ValidArgs.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Cache // Package: Cache
// Module: ValidArgs // Module: ValidArgs
// //
// Definition of the ValidArgs class. // Definition of the ValidArgs 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 38 skipping to change at line 38
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVEN T
// 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 Foundation_ValidArgs_INCLUDED #ifndef Foundation_ValidArgs_INCLUDED
#define Foundation_ValidArgs_INCLUDED #define Foundation_ValidArgs_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
namespace Poco { namespace Poco {
template <class TKey> template <class TKey>
class ValidArgs class ValidArgs
{ {
public: public:
ValidArgs(const TKey& key): ValidArgs(const TKey& key):
skipping to change at line 90 skipping to change at line 90
protected: protected:
const TKey& _key; const TKey& _key;
bool _isValid; bool _isValid;
private: private:
ValidArgs& operator = (const ValidArgs& args); ValidArgs& operator = (const ValidArgs& args);
}; };
} // namespace Poco } // namespace Poco
#endif #endif // Foundation_ValidArgs_INCLUDED
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


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


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


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


 WinRegistryConfiguration.h   WinRegistryConfiguration.h 
// //
// WinRegistryConfiguration.h // WinRegistryConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/WinRegistryConfiguration.h#1 $ // $Id: //poco/1.4/Util/include/Poco/Util/WinRegistryConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Windows // Package: Windows
// Module: WinRegistryConfiguration // Module: WinRegistryConfiguration
// //
// Definition of the WinRegistryConfiguration class. // Definition of the WinRegistryConfiguration 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 51 skipping to change at line 51
#include "Poco/Util/Util.h" #include "Poco/Util/Util.h"
#include "Poco/Util/AbstractConfiguration.h" #include "Poco/Util/AbstractConfiguration.h"
#include "Poco/String.h" #include "Poco/String.h"
namespace Poco { namespace Poco {
namespace Util { namespace Util {
class Util_API WinRegistryConfiguration: public AbstractConfiguration class Util_API WinRegistryConfiguration: public AbstractConfiguration
/// An implementation of AbstractConfiguration that stores configura tion data /// An implementation of AbstractConfiguration that stores configura tion data
/// in the Windows registry. /// in the Windows registry.
///
/// Removing key is not supported. An attempt to remove a key result
s
/// in a NotImplementedException being thrown.
{ {
public: public:
WinRegistryConfiguration(const std::string& rootPath); WinRegistryConfiguration(const std::string& rootPath);
/// Creates the WinRegistryConfiguration. /// Creates the WinRegistryConfiguration.
/// The rootPath must start with one of the root key names /// The rootPath 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.
/// All further keys are relativ to the root path and can be /// All further keys are relativ to the root path and can be
/// dot seperated, e.g. the path MyService.ServiceName will be converted to /// dot seperated, e.g. the path MyService.ServiceName will be converted to
/// HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyS ervice\ServiceName. /// HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyS ervice\ServiceName.
bool getRaw(const std::string& key, std::string& value) const;
/// If the property with the given key exists, stores the pr
operty's value
/// in value and returns true. Otherwise, returns false.
///
/// Must be overridden by subclasses.
void setRaw(const std::string& key, const std::string& value);
/// Sets the property with the given key to the given value.
/// An already existing value for the key is overwritten.
///
/// Must be overridden by subclasses.
void enumerate(const std::string& key, Keys& range) const;
/// Returns in range the names of all subkeys under the give
n key.
/// If an empty key is passed, all root level keys are retur
ned.
protected: protected:
~WinRegistryConfiguration(); ~WinRegistryConfiguration();
/// Destroys the WinRegistryConfiguration. /// Destroys the WinRegistryConfiguration.
bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
std::string ConvertToRegFormat(const std::string& key, std::string& keyName) const; std::string ConvertToRegFormat(const std::string& key, std::string& keyName) const;
/// takes a key in the format of A.B.C and converts it to /// takes a key in the format of A.B.C and converts it to
/// registry format A\B\C, the last entry is the keyName, th e rest is returned as path /// registry format A\B\C, the last entry is the keyName, th e rest is returned as path
private: private:
std::string _rootPath; std::string _rootPath;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
 End of changes. 4 change blocks. 
20 lines changed or deleted 10 lines changed or added


 WinRegistryKey.h   WinRegistryKey.h 
// //
// WinRegistryKey.h // WinRegistryKey.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/WinRegistryKey.h#3 $ // $Id: //poco/1.4/Util/include/Poco/Util/WinRegistryKey.h#1 $
// //
// 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.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 WinService.h   WinService.h 
// //
// WinService.h // WinService.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/WinService.h#3 $ // $Id: //poco/1.4/Util/include/Poco/Util/WinService.h#1 $
// //
// Library: Util // Library: Util
// Package: Windows // Package: Windows
// Module: WinService // Module: WinService
// //
// Definition of the WinService class. // Definition of the WinService class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Windows1252Encoding.h   Windows1252Encoding.h 
// //
// Windows1252Encoding.h // Windows1252Encoding.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/Windows1252Encoding.h#4 $ // $Id: //poco/1.4/Foundation/include/Poco/Windows1252Encoding.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Text // Package: Text
// Module: Windows1252Encoding // Module: Windows1252Encoding
// //
// Definition of the Windows1252Encoding class. // Definition of the Windows1252Encoding class.
// //
// Copyright (c) 2005-2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2005-2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 WindowsConsoleChannel.h   WindowsConsoleChannel.h 
// //
// WindowsConsoleChannel.h // WindowsConsoleChannel.h
// //
// $Id: //poco/1.3/Foundation/include/Poco/WindowsConsoleChannel.h#2 $ // $Id: //poco/1.4/Foundation/include/Poco/WindowsConsoleChannel.h#1 $
// //
// Library: Foundation // Library: Foundation
// Package: Logging // Package: Logging
// Module: WindowsConsoleChannel // Module: WindowsConsoleChannel
// //
// Definition of the WindowsConsoleChannel class. // Definition of the WindowsConsoleChannel class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 XML.h   XML.h 
// //
// XML.h // XML.h
// //
// $Id: //poco/1.3/XML/include/Poco/XML/XML.h#2 $ // $Id: //poco/1.4/XML/include/Poco/XML/XML.h#1 $
// //
// Library: XML // Library: XML
// Package: XML // Package: XML
// Module: XML // Module: XML
// //
// Basic definitions for the Poco XML library. // Basic definitions for the Poco XML library.
// This file must be the first file included by every other XML // This file must be the first file included by every other XML
// header file. // header file.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
skipping to change at line 70 skipping to change at line 70
#if !defined(XML_API) #if !defined(XML_API)
#define XML_API #define XML_API
#endif #endif
// //
// Automatically link XML library. // Automatically link XML library.
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(XML_EXPORTS) #if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(XML_EXPORTS)
#if defined(POCO_DLL) #pragma comment(lib, "PocoXML" POCO_LIB_SUFFIX)
#if defined(_DEBUG)
#pragma comment(lib, "PocoXMLd.lib")
#else
#pragma comment(lib, "PocoXML.lib")
#endif
#else
#if defined(_DEBUG)
#pragma comment(lib, "PocoXMLmtd.lib")
#else
#pragma comment(lib, "PocoXMLmt.lib")
#endif
#endif
#endif #endif
#endif #endif
#endif // XML_XML_INCLUDED #endif // XML_XML_INCLUDED
 End of changes. 2 change blocks. 
14 lines changed or deleted 2 lines changed or added


 XMLConfiguration.h   XMLConfiguration.h 
// //
// XMLConfiguration.h // XMLConfiguration.h
// //
// $Id: //poco/1.3/Util/include/Poco/Util/XMLConfiguration.h#2 $ // $Id: //poco/1.4/Util/include/Poco/Util/XMLConfiguration.h#1 $
// //
// Library: Util // Library: Util
// Package: Configuration // Package: Configuration
// Module: XMLConfiguration // Module: XMLConfiguration
// //
// Definition of the XMLConfiguration class. // Definition of the XMLConfiguration 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 57 skipping to change at line 57
#include <istream> #include <istream>
namespace Poco { namespace Poco {
namespace Util { namespace Util {
class Util_API XMLConfiguration: public AbstractConfiguration class Util_API XMLConfiguration: public AbstractConfiguration
/// This configuration class extracts configuration properties /// This configuration class extracts configuration properties
/// from an XML document. An XPath-like syntax for property /// from an XML document. An XPath-like syntax for property
/// names is supported to allow full access to the XML document. /// names is supported to allow full access to the XML document.
/// XML namespaces are not supported. The name of the root element /// XML namespaces are not supported. The name of the root element
/// of an XML document is not significant. Periods in tag names /// of the XML document is not significant and ignored.
/// are not supported. /// Periods in tag names are not supported.
/// ///
/// Given the following XML document as an example: /// Given the following XML document as an example:
/// ///
/// <config> /// <config>
/// <prop1>value1</prop1> /// <prop1>value1</prop1>
/// <prop2>value2</prop2> /// <prop2>value2</prop2>
/// <prop3> /// <prop3>
/// <prop4 attr="value3"/> /// <prop4 attr="value3"/>
/// <prop4 attr="value4"/> /// <prop4 attr="value4"/>
/// </prop3> /// </prop3>
/// <prop5>value5</prop5> /// <prop5 id="first">value5</prop5>
/// <prop5>value6</prop5> /// <prop5 id="second">value6</prop5>
/// </config> /// </config>
/// ///
/// The following property names would be valid and would /// The following property names would be valid and would
/// yield the shown values: /// yield the shown values:
/// ///
/// prop1 -> value1 /// prop1 -> value1
/// prop2 -> value2 /// prop2 -> value2
/// prop3.prop4 -> (empty string) /// prop3.prop4 -> (empty string)
/// prop3.prop4[@attr] -> value3 /// prop3.prop4[@attr] -> value3
/// prop3.prop4[1][@attr] -> value4 /// prop3.prop4[1][@attr] -> value4
/// prop5[0] -> value5 /// prop5[0] -> value5
/// prop5[1] -> value6 /// prop5[1] -> value6
/// prop5[@id=first] -> value5
/// prop5[@id='second'] -> value6
/// ///
/// Enumerating attributes is not supported. /// Enumerating attributes is not supported.
/// Calling keys("prop3.prop4") will return an empty range. /// Calling keys("prop3.prop4") will return an empty range.
{ {
public: public:
XMLConfiguration(); XMLConfiguration();
/// Creates an empty XMLConfiguration. /// Creates an empty XMLConfiguration.
XMLConfiguration(Poco::XML::InputSource* pInputSource); XMLConfiguration(Poco::XML::InputSource* pInputSource);
/// Creates an XMLConfiguration and loads the XML document f rom /// Creates an XMLConfiguration and loads the XML document f rom
skipping to change at line 157 skipping to change at line 159
void save(Poco::XML::DOMWriter& writer, std::ostream& str) const; void save(Poco::XML::DOMWriter& writer, std::ostream& str) const;
/// Writes the XML document containing the configuration dat a /// Writes the XML document containing the configuration dat a
/// to the given stream. /// to the given stream.
/// ///
/// This can be used to use a DOMWriter with custom options. /// This can be used to use a DOMWriter with custom options.
protected: protected:
bool getRaw(const std::string& key, std::string& value) const; bool getRaw(const std::string& key, std::string& value) const;
void setRaw(const std::string& key, const std::string& value); void setRaw(const std::string& key, const std::string& value);
void enumerate(const std::string& key, Keys& range) const; void enumerate(const std::string& key, Keys& range) const;
void removeRaw(const std::string& key);
~XMLConfiguration(); ~XMLConfiguration();
private: private:
const Poco::XML::Node* findNode(const std::string& key) const; const Poco::XML::Node* findNode(const std::string& key) const;
Poco::XML::Node* findNode(const std::string& key);
static Poco::XML::Node* findNode(std::string::const_iterator& it, co nst std::string::const_iterator& end, Poco::XML::Node* pNode, bool create = false); static Poco::XML::Node* findNode(std::string::const_iterator& it, co nst std::string::const_iterator& end, Poco::XML::Node* pNode, bool create = false);
static Poco::XML::Node* findElement(const std::string& name, Poco::X ML::Node* pNode, bool create); static Poco::XML::Node* findElement(const std::string& name, Poco::X ML::Node* pNode, bool create);
static Poco::XML::Node* findElement(int index, Poco::XML::Node* pNod e, bool create); static Poco::XML::Node* findElement(int index, Poco::XML::Node* pNod e, bool create);
static Poco::XML::Node* findElement(const std::string& attr, const s td::string& value, Poco::XML::Node* pNode);
static Poco::XML::Node* findAttribute(const std::string& name, Poco: :XML::Node* pNode, bool create); static Poco::XML::Node* findAttribute(const std::string& name, Poco: :XML::Node* pNode, bool create);
Poco::XML::AutoPtr<Poco::XML::Node> _pRoot; Poco::XML::AutoPtr<Poco::XML::Node> _pRoot;
Poco::XML::AutoPtr<Poco::XML::Document> _pDocument; Poco::XML::AutoPtr<Poco::XML::Document> _pDocument;
}; };
} } // namespace Poco::Util } } // namespace Poco::Util
#endif // Util_XMLConfiguration_INCLUDED #endif // Util_XMLConfiguration_INCLUDED
 End of changes. 7 change blocks. 
5 lines changed or deleted 10 lines changed or added


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


 XMLFilter.h   XMLFilter.h 
// //
// XMLFilter.h // XMLFilter.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/XMLFilter.h#1 $ // $Id: //poco/1.4/XML/include/Poco/SAX/XMLFilter.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAXFilters // Module: SAXFilters
// //
// SAX2 XMLFilter Interface. // SAX2 XMLFilter Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 XMLFilterImpl.h   XMLFilterImpl.h 
// //
// XMLFilterImpl.h // XMLFilterImpl.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/XMLFilterImpl.h#2 $ // $Id: //poco/1.4/XML/include/Poco/SAX/XMLFilterImpl.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAXFilters // Module: SAXFilters
// //
// SAX2 XMLFilterImpl class. // SAX2 XMLFilterImpl class.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 XMLReader.h   XMLReader.h 
// //
// XMLReader.h // XMLReader.h
// //
// $Id: //poco/1.3/XML/include/Poco/SAX/XMLReader.h#2 $ // $Id: //poco/1.4/XML/include/Poco/SAX/XMLReader.h#1 $
// //
// Library: XML // Library: XML
// Package: SAX // Package: SAX
// Module: SAX // Module: SAX
// //
// SAX2 XMLReader Interface. // SAX2 XMLReader Interface.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 XMLStream.h   XMLStream.h 
// //
// XMLStream.h // XMLStream.h
// //
// $Id: //poco/1.3/XML/include/Poco/XML/XMLStream.h#1 $ // $Id: //poco/1.4/XML/include/Poco/XML/XMLStream.h#1 $
// //
// Library: XML // Library: XML
// Package: XML // Package: XML
// Module: XMLStream // Module: XMLStream
// //
// Definition of the XMLByteInputStream and XMLCharInputStream classes. // Definition of the XMLByteInputStream and XMLCharInputStream classes.
// //
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


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


 XMLWriter.h   XMLWriter.h 
// //
// XMLWriter.h // XMLWriter.h
// //
// $Id: //poco/1.3/XML/include/Poco/XML/XMLWriter.h#1 $ // $Id: //poco/1.4/XML/include/Poco/XML/XMLWriter.h#1 $
// //
// Library: XML // Library: XML
// Package: XML // Package: XML
// Module: XMLWriter // Module: XMLWriter
// //
// Definition of the XMLWriter class. // Definition of the XMLWriter 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 83 skipping to change at line 83
/// application does not have to keep track of prefixes and supply x mlns attributes. /// application does not have to keep track of prefixes and supply x mlns attributes.
/// ///
/// If the client does not provide namespace prefixes (either by spe cifying them /// If the client does not provide namespace prefixes (either by spe cifying them
/// as part of the qualified name given to startElement(), or by cal ling /// as part of the qualified name given to startElement(), or by cal ling
/// startPrefixMapping()), the XMLWriter automatically generates nam espace /// startPrefixMapping()), the XMLWriter automatically generates nam espace
/// prefixes in the form ns1, ns2, etc. /// prefixes in the form ns1, ns2, etc.
{ {
public: public:
enum Options enum Options
{ {
CANONICAL = 0x00, /// do not write an XML declar CANONICAL = 0x00,
ation /// Do not write an XML declaration (default).
WRITE_XML_DECLARATION = 0x01, /// write an XML declaration
PRETTY_PRINT = 0x02 /// pretty-print XML markup CANONICAL_XML = 0x01,
/// Enables basic support for Canonical XML:
/// - do not write an XML declaration
/// - do not use special empty element syntax
/// - set the New Line character to NEWLINE_LF
WRITE_XML_DECLARATION = 0x02,
/// Write an XML declaration.
PRETTY_PRINT = 0x04,
/// Pretty-print XML markup.
PRETTY_PRINT_ATTRIBUTES = 0x08
/// Write each attribute on a separate line.
/// PRETTY_PRINT must be specified as well.
}; };
XMLWriter(XMLByteOutputStream& str, int options); XMLWriter(XMLByteOutputStream& str, int options);
/// Creates the XMLWriter and sets the specified options. /// Creates the XMLWriter and sets the specified options.
/// ///
/// The resulting stream will be UTF-8 encoded. /// The resulting stream will be UTF-8 encoded.
XMLWriter(XMLByteOutputStream& str, int options, const std::string& encodingName, Poco::TextEncoding& textEncoding); XMLWriter(XMLByteOutputStream& str, int options, const std::string& encodingName, Poco::TextEncoding& textEncoding);
/// Creates the XMLWriter and sets the specified options. /// Creates the XMLWriter and sets the specified options.
/// ///
skipping to change at line 124 skipping to change at line 139
/// ///
/// Possible values are: /// Possible values are:
/// * NEWLINE_DEFAULT (whatever is appropriate for the cur rent platform) /// * NEWLINE_DEFAULT (whatever is appropriate for the cur rent platform)
/// * NEWLINE_CRLF (Windows), /// * NEWLINE_CRLF (Windows),
/// * NEWLINE_LF (Unix), /// * NEWLINE_LF (Unix),
/// * NEWLINE_CR (Macintosh) /// * NEWLINE_CR (Macintosh)
const std::string& getNewLine() const; const std::string& getNewLine() const;
/// Returns the line ending currently in use. /// Returns the line ending currently in use.
void setIndent(const std::string& indent);
/// Sets the string used for one indentation step.
///
/// The default is a single TAB character.
/// The given string should only contain TAB or SPACE
/// characters (e.g., a single TAB character, or
/// two to four SPACE characters).
const std::string& getIndent() const;
/// Returns the string used for one indentation step.
// ContentHandler // ContentHandler
void setDocumentLocator(const Locator* loc); void setDocumentLocator(const Locator* loc);
/// Currently unused. /// Currently unused.
void startDocument(); void startDocument();
/// Writes a generic XML declaration to the stream. /// Writes a generic XML declaration to the stream.
/// If a document type has been set (see SetDocumentType), /// If a document type has been set (see SetDocumentType),
/// a DOCTYPE declaration is also written. /// a DOCTYPE declaration is also written.
void endDocument(); void endDocument();
skipping to change at line 261 skipping to change at line 287
protected: protected:
typedef std::map<XMLString, XMLString> AttributeMap; typedef std::map<XMLString, XMLString> AttributeMap;
void writeStartElement(const XMLString& namespaceURI, const XMLStrin g& localName, const XMLString& qname, const Attributes& attributes); void writeStartElement(const XMLString& namespaceURI, const XMLStrin g& localName, const XMLString& qname, const Attributes& attributes);
void writeEndElement(const XMLString& namespaceURI, const XMLString& localName, const XMLString& qname); void writeEndElement(const XMLString& namespaceURI, const XMLString& localName, const XMLString& qname);
void writeMarkup(const std::string& str) const; void writeMarkup(const std::string& str) const;
void writeXML(const XMLString& str) const; void writeXML(const XMLString& str) const;
void writeXML(XMLChar ch) const; void writeXML(XMLChar ch) const;
void writeNewLine() const; void writeNewLine() const;
void writeIndent() const; void writeIndent() const;
void writeIndent(int indent) const;
void writeName(const XMLString& prefix, const XMLString& localName); void writeName(const XMLString& prefix, const XMLString& localName);
void writeXMLDeclaration(); void writeXMLDeclaration();
void closeStartTag(); void closeStartTag();
void declareAttributeNamespaces(const Attributes& attributes); void declareAttributeNamespaces(const Attributes& attributes);
void addNamespaceAttributes(AttributeMap& attributeMap); void addNamespaceAttributes(AttributeMap& attributeMap);
void addAttributes(AttributeMap& attributeMap, const Attributes& att ributes, const XMLString& elementNamespaceURI); void addAttributes(AttributeMap& attributeMap, const Attributes& att ributes, const XMLString& elementNamespaceURI);
void writeAttributes(const AttributeMap& attributeMap); void writeAttributes(const AttributeMap& attributeMap);
void prettyPrint() const; void prettyPrint() const;
XMLString newPrefix(); XMLString newPrefix();
static std::string nameToString(const XMLString& localName, const XM LString& qname); static std::string nameToString(const XMLString& localName, const XM LString& qname);
skipping to change at line 303 skipping to change at line 330
int _elementCount; int _elementCount;
bool _inFragment; bool _inFragment;
bool _inCDATA; bool _inCDATA;
bool _inDTD; bool _inDTD;
bool _inInternalDTD; bool _inInternalDTD;
bool _contentWritten; bool _contentWritten;
bool _unclosedStartTag; bool _unclosedStartTag;
ElementStack _elementStack; ElementStack _elementStack;
NamespaceSupport _namespaces; NamespaceSupport _namespaces;
int _prefix; int _prefix;
bool _nsContextPushed;
std::string _indent;
static const std::string MARKUP_QUOTENC; static const std::string MARKUP_QUOTENC;
static const std::string MARKUP_APOSENC; static const std::string MARKUP_APOSENC;
static const std::string MARKUP_AMPENC; static const std::string MARKUP_AMPENC;
static const std::string MARKUP_LTENC; static const std::string MARKUP_LTENC;
static const std::string MARKUP_GTENC; static const std::string MARKUP_GTENC;
static const std::string MARKUP_TABENC;
static const std::string MARKUP_CRENC;
static const std::string MARKUP_LFENC;
static const std::string MARKUP_LT; static const std::string MARKUP_LT;
static const std::string MARKUP_GT; static const std::string MARKUP_GT;
static const std::string MARKUP_SLASHGT; static const std::string MARKUP_SLASHGT;
static const std::string MARKUP_LTSLASH; static const std::string MARKUP_LTSLASH;
static const std::string MARKUP_COLON; static const std::string MARKUP_COLON;
static const std::string MARKUP_EQQUOT; static const std::string MARKUP_EQQUOT;
static const std::string MARKUP_QUOT; static const std::string MARKUP_QUOT;
static const std::string MARKUP_SPACE; static const std::string MARKUP_SPACE;
static const std::string MARKUP_TAB; static const std::string MARKUP_TAB;
static const std::string MARKUP_BEGIN_CDATA; static const std::string MARKUP_BEGIN_CDATA;
 End of changes. 6 change blocks. 
5 lines changed or deleted 36 lines changed or added


 zconf.h   zconf.h 
/* zconf.h -- configuration of the zlib compression library /* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2005 Jean-loup Gailly. * Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h * For conditions of distribution and use, see copyright notice in zlib.h
*/ */
/* @(#) $Id: //poco/1.3/Foundation/include/Poco/zconf.h#1 $ */ /* @(#) $Id: //poco/1.4/Foundation/include/Poco/zconf.h#1 $ */
#ifndef ZCONF_H #ifndef ZCONF_H
#define ZCONF_H #define ZCONF_H
/* /*
* If you *really* need a unique prefix for all types and library functions , * If you *really* need a unique prefix for all types and library functions ,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
*/ */
#ifdef Z_PREFIX #ifdef Z_PREFIX
# define deflateInit_ z_deflateInit_ # define deflateInit_ z_deflateInit_
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

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