Merged revision(s) 30760-30763 from ptlib/branches/v2_12:
Fixed using "no change" channel in MSWIN video output device. Correctly this time. And other places where the semantics were not quite right.

Added PVideoDevice::GetChannelNames() function to get mnemonics for the channels/options in a video channel.


git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30765 023b2edf-31b2-4de3-b41e-bca80c47788f
Update symbols

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30769 023b2edf-31b2-4de3-b41e-bca80c47788f
Added PDECLARE_NOTIFIER_EXT macro so can do in class definition of notifier function body.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30773 023b2edf-31b2-4de3-b41e-bca80c47788f
Added template member function so can convert a PString to any type that is streamable.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30775 023b2edf-31b2-4de3-b41e-bca80c47788f
Made PDNS::LookupSRV smarter, can now deal with strings which have IP addresses in them instead of domain, or a ":port" suffix.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30777 023b2edf-31b2-4de3-b41e-bca80c47788f
Added extra constructors for PStringArray, PStringList etc that takes a const char * as GNU compiler will not do a two stage construction through PString. As MSVC does, it is annoying as you do it on one platform and it then does not compile on the other.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30778 023b2edf-31b2-4de3-b41e-bca80c47788f
Rework of the plug in system:
 * Now uses PFactory for loading "descriptors", thread safe and static constructor order safe.
 * PFactory also normalises the static "force link" mechanism.
 * Has "normalised" names for service types etc, use a member function rather than string literals that can not match and cause hard to find errors.
 * Simplified macros for defining services, reducing the "copy and paste" method of code re-use.
 * Services that are not "devices", e.g. NAT methods or H.460 features now do not have to act like they are drivers/devices, by being one level higher in the descriptor class hierarchy.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30779 023b2edf-31b2-4de3-b41e-bca80c47788f
Added friend functions for reverse string comparison. It is just astonishing that it has taken nearly twenty years to notice that something like if ("fred" == str) does not work! Surely it must have sometime ...

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30780 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed issue in PArgList where if there was a parse error of the command line, the option data is removed which prevents the Usage() function from displaying all the available options.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30781 023b2edf-31b2-4de3-b41e-bca80c47788f
Update symbols

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30787 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed crash in curses CLI for Windows if exit via something other than "quit".

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30788 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed MSWIN video output device broken in recent changes.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30789 023b2edf-31b2-4de3-b41e-bca80c47788f
Merged revision(s) 30787-30793 from ptlib/branches/v2_12:
Adjusted PTrace::Initialise() to avoid spurious trace log output to stderr while redirecting it to file.


git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30794 023b2edf-31b2-4de3-b41e-bca80c47788f
Enhanced CLI line editing. Access to arrow keys etc when using curses.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30795 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed CLI editing on second command line.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30796 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed missing "options" in help for CLI commands that have them.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30797 023b2edf-31b2-4de3-b41e-bca80c47788f
Allow CLI help to display sub-sets based on command.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30801 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed prioritisation of video devices based on the available drivers. Placed in a more general position so works in more cases.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30802 023b2edf-31b2-4de3-b41e-bca80c47788f
Fixed MSWIN video output device broken in recent changes.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30803 023b2edf-31b2-4de3-b41e-bca80c47788f
Rework of the NAT methods and the collection of NAT methods, it's prioritisation and selection criteria.

git-svn-id: svn://svn.code.sf.net/p/opalvoip/code/ptlib/trunk@30815 023b2edf-31b2-4de3-b41e-bca80c47788f