You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(622) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(303) |
Feb
(64) |
Mar
(5) |
Apr
(63) |
May
(82) |
Jun
(53) |
Jul
(50) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: stephan b. <sg...@us...> - 2004-12-24 23:03:49
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7574/src/System Modified Files: SharedLib.dl.cpp SharedLib.ltdl.cpp Log Message: Removed the automatic ".so" addition on filenames. Added dl init code, as per the dl/ltdl docs. DL: removed the dlclose() from dtor, for reasons just shown on the mailing list. Index: SharedLib.ltdl.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/SharedLib.ltdl.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- SharedLib.ltdl.cpp 23 Dec 2004 21:50:44 -0000 1.2 +++ SharedLib.ltdl.cpp 24 Dec 2004 23:03:40 -0000 1.3 @@ -24,9 +24,6 @@ #include <ltdl.h> #include <errno.h> -#ifndef PCLASSES_WITH_STL -# error "This header requires PCLASSES_WITH_STL to be defined." -#endif #include <string> #include <sstream> #include <map> @@ -36,6 +33,13 @@ namespace System { + void ltdl_init() + { + lt_dlinit(); + lt_dlopen( 0 ); + } + int ltdl_init_placeholder = (ltdl_init(),0); + typedef unsigned long handle_type; typedef std::map<handle_type,lt_dlhandle> lt_handle_map_t; @@ -47,48 +51,54 @@ return PHX::instance(); } -int BindMode2Flags(SharedLib::BindMode mode) -{ // ltdl doesn't use dlopen() flags - return 0; -} + int BindMode2Flags(SharedLib::BindMode mode) + { // ltdl doesn't use dlopen() flags + return 0; + } + + SharedLib::SharedLib(const Unicode::String& name, BindMode mode) throw(SystemError) : _handle(0) { - Unicode::String realName = name; - realName.append(".so"); +// Please don't do this: +// Unicode::String realName = name; +// realName.append(".so"); //@fixme _handle = (unsigned long)dlopen(realName.utf8(), BindMode2Flags(mode)); if(!_handle) throw SystemError(errno, lt_dlerror(), P_SOURCEINFO); } -#ifdef PCLASSES_WITH_STL + +#ifndef CERR +#define CERR std::cerr << __FILE__ << ":" << std::dec << __LINE__ << " : " +#endif + + SharedLib::SharedLib(const std::string& name, BindMode mode) throw(SystemError) : _handle(0) { - std::ostringstream realName; - realName << name; - realName << ".so"; - lt_dlhandle h = lt_dlopen(realName.str().c_str() /** BindMode2Flags(mode) */ ); + lt_dlhandle h = lt_dlopen(name.c_str() /** BindMode2Flags(mode) */ ); if( h ) { _handle = reinterpret_cast<handle_type>( static_cast<void *>( h ) ); lt_handle_map().insert( std::make_pair( _handle, h ) ); - } - if(!_handle) + } else + { + // CERR << "SharedLib("<<name<<") failed.\n"; throw SystemError(errno, lt_dlerror(), P_SOURCEINFO); + } } -#endif SharedLib::~SharedLib() throw() { lt_handle_map_t::iterator it = lt_handle_map().find( _handle ); if( lt_handle_map().end() != it ) { -// nononono! -// lt_dlclose((*it).second); + CERR << "~SharedLib() erasing a handle: " << _handle << "\n"; +// lt_dlclose((*it).second); lt_handle_map().erase( it ); } } Index: SharedLib.dl.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/SharedLib.dl.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- SharedLib.dl.cpp 23 Dec 2004 21:50:44 -0000 1.5 +++ SharedLib.dl.cpp 24 Dec 2004 23:03:40 -0000 1.6 @@ -23,15 +23,19 @@ #include <dlfcn.h> #include <errno.h> -#ifdef PCLASSES_WITH_STL -# include <string> -# include <sstream> -#endif +#include <string> +#include <sstream> namespace P { namespace System { +void libdl_init() +{ + dlopen( 0, RTLD_NOW | RTLD_GLOBAL ); +} +int libdl_init_placeholder = (libdl_init(),0); + int BindMode2Flags(SharedLib::BindMode mode) { int flags = 0; @@ -51,30 +55,50 @@ SharedLib::SharedLib(const Unicode::String& name, BindMode mode) throw(SystemError) { - Unicode::String realName = name; - realName.append(".so"); +// Please don't do this: +// Unicode::String realName = name; +// realName.append(".so"); //@fixme _handle = (unsigned long)dlopen(realName.utf8(), BindMode2Flags(mode)); if(!_handle) throw SystemError(errno, dlerror(), P_SOURCEINFO); } -#ifdef PCLASSES_WITH_STL SharedLib::SharedLib(const std::string& name, BindMode mode) throw(SystemError) { - std::ostringstream realName; - realName << name; - realName << ".so"; - - _handle = (unsigned long)dlopen(realName.str().c_str(), BindMode2Flags(mode)); + _handle = (unsigned long)dlopen(name.c_str(), BindMode2Flags(mode)); if(!_handle) throw SystemError(errno, dlerror(), P_SOURCEINFO); } -#endif SharedLib::~SharedLib() throw() { - dlclose((void*)_handle); +// dlclose((void*)_handle); +/***** +dlclose() is a BAD IDEA: + +Post-main(): + +#0 0x4001272b in strlen () from /lib/ld-linux.so.2 +#1 0x4000ce20 in _dl_signal_error () from /lib/ld-linux.so.2 +#2 0x40331947 in _dl_close () from /lib/tls/libc.so.6 +#3 0x40370d1a in dlclose_doit () from /lib/libdl.so.2 +#4 0x4000cd56 in _dl_catch_error () from /lib/ld-linux.so.2 +#5 0x40371085 in _dlerror_run () from /lib/libdl.so.2 +#6 0x40370cf0 in dlclose () from /lib/libdl.so.2 +#7 0x400398eb in ~SharedLib (this=0x8053c60) at SharedLib.dl.cpp:77 +#8 0x0804c9d8 in ~PluginCleaner (this=0x8051ec4) at Plugin.h:43 +#9 0x0804ea7c in ~PluginManager (this=0x8051ec0) at Plugin.h:106 +#10 0x0804d8cf in ~Phoenix (this=0x8051ec0) at Phoenix.h:196 +#11 0x0804bce5 in __tcf_1 () at Phoenix.h:161 +#12 0x40271820 in exit () from /lib/tls/libc.so.6 +#13 0x4025cb1a in __libc_start_main () from /lib/tls/libc.so.6 +#14 0x0804a1f1 in _start () at start.S:119 + +HOWEVER, not doing a dlclose() causes: +*** glibc detected *** double free or corruption: 0x08053c60 *** + +*****/ } void* SharedLib::operator[](const char* symbol) throw(RuntimeError) |
From: stephan b. <sg...@us...> - 2004-12-24 23:02:52
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7350/src/System Modified Files: SharedLib.generic.cpp Log Message: Removed the deletion of SharedLib objects - causes a double-delete warning from glibc! Added debuggering code. Index: SharedLib.generic.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/SharedLib.generic.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- SharedLib.generic.cpp 24 Dec 2004 19:26:23 -0000 1.4 +++ SharedLib.generic.cpp 24 Dec 2004 23:02:43 -0000 1.5 @@ -3,6 +3,10 @@ #include <list> +#ifndef CERR +#define CERR std::cerr << __FILE__ << ":" << std::dec << __LINE__ << " : " +#endif + namespace P { namespace System { void* SharedLib::operator[](const std::string& symbol) throw(RuntimeError) @@ -32,7 +36,10 @@ typename list_t::iterator it = m_list.begin(); while( m_list.end() != it ) { - delete( (*it) ); + // weird: deleting these + // causes a double-delete error + // from glibc + // delete( (*it) ); ++it; } m_list.clear(); @@ -70,7 +77,10 @@ SharedLib * openSharedLib( const std::string & path ) throw(RuntimeError) { + //CERR << "openSharedLib("<<path<<")\n"; + // this is ALWAYS throwing, no matter how valid path is: SharedLib * sh = new SharedLib( path ); + //CERR << "OPENED openSharedLib("<<path<<")\n"; // ^^^^ if this throws, the mem is deallocated, right? opened_shared_libs().push_back( sh ); return sh; |
From: stephan b. <sg...@us...> - 2004-12-24 23:01:52
|
Update of /cvsroot/pclasses/pclasses2/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7092/src Modified Files: Exception.cpp Log Message: Added a fix for a segfault when passed an empty string. Index: Exception.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/Exception.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Exception.cpp 24 Dec 2004 17:16:57 -0000 1.4 +++ Exception.cpp 24 Dec 2004 23:01:35 -0000 1.5 @@ -23,7 +23,7 @@ namespace P { Exception::Exception(const char* what, const SourceInfo& si) throw() - : _what(what), _source(&si), _where() + : _what(what?what:""), _source(&si), _where() { } @@ -45,12 +45,22 @@ { if( _where.empty() && _source ) { - _where = "[file = "; - _where += _source->file(); - _where += " : line = "; - _where += _source->line(); - _where += " : function = "; - _where += _source->func(); + _where = "["; + if( _source->file() ) + { + _where += "file = "; + _where += _source->file(); + } + if( _source->line() ) + { + _where += ": line = "; + _where += _source->line(); + } +// if( _source->func() ) +// { +// _where += " : function = "; +// _where += _source->func(); // segfault here +// } _where += "]"; } return _where.c_str(); |
From: stephan b. <sg...@us...> - 2004-12-24 21:17:44
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21068/include/pclasses Modified Files: FactoryReg.h Log Message: Added support for setting the factory context. Index: FactoryReg.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/FactoryReg.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- FactoryReg.h 24 Dec 2004 00:57:25 -0000 1.1 +++ FactoryReg.h 24 Dec 2004 21:17:35 -0000 1.2 @@ -33,6 +33,10 @@ # error "You must define PFACREG_TYPE_NAME before including this file." #endif +#ifndef PFACREG_CONTEXT +# define PFACREG_CONTEXT ::P::Sharing::FactoryContext +#endif + #ifndef PFACREG_TYPE_INTERFACE # define PFACREG_TYPE_INTERFACE PFACREG_TYPE #endif @@ -40,10 +44,7 @@ # ifdef PFACREG_TYPE_IS_ABSTRACT // install a specialization of Factory's default factory type, -// so that we won't try to instantiation a PFACREG_TYPE object. -// Remember that this code will only happen when -// ( PFACREG_TYPE_INTERFACE == PFACREG_TYPE ) -// assuming the user doesn't mis-use the supermacro API. +// so that we won't try to instantiate a PFACREG_TYPE object. namespace P { namespace Hook { template <> struct FactoryCreateHook< PFACREG_TYPE_INTERFACE , PFACREG_TYPE > @@ -78,10 +79,11 @@ # endif // !p_FACTORY_REG_CONTEXT_DEFINED # define FACTORY_FUNCTION_ ::P::Hook::FactoryCreateHook< PFACREG_TYPE_INTERFACE , PFACREG_TYPE >::create +# define FACTORY_INSTANCE_ ::P::Factory< PFACREG_TYPE_INTERFACE, std::string, PFACREG_CONTEXT >::instance() //////////////////////////////////////////////////////////////////////// // Register a factory with the classloader: bool pfactory_reg_context< PFACREG_TYPE >::placeholder= ( - P::NamedTypeFactory< PFACREG_TYPE_INTERFACE >::instance().registerFactory( PFACREG_TYPE_NAME, FACTORY_FUNCTION_ ), + FACTORY_INSTANCE_.registerFactory( PFACREG_TYPE_NAME, FACTORY_FUNCTION_ ), true); # undef FACTORY_FUNCTION_ } // anon namespace @@ -92,3 +94,4 @@ #undef PFACREG_TYPE #undef PFACREG_TYPE_INTERFACE #undef PFACREG_TYPE_NAME +#undef PFACREG_CONTEXT |
From: stephan b. <sg...@us...> - 2004-12-24 19:27:28
|
Update of /cvsroot/pclasses/pclasses2/toc/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1522/toc/bin Modified Files: create_makefile_stubs.sh Log Message: Added a reminder about SUBDIRS. Index: create_makefile_stubs.sh =================================================================== RCS file: /cvsroot/pclasses/pclasses2/toc/bin/create_makefile_stubs.sh,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- create_makefile_stubs.sh 23 Dec 2004 06:27:24 -0000 1.4 +++ create_makefile_stubs.sh 24 Dec 2004 19:27:18 -0000 1.5 @@ -240,6 +240,10 @@ done cat <<EOF all: +# Don't forget to any any SUBDIRS to 'all', if needed, with: +# all: subdir-NAME +# or: +# all: subdirs ################################################### # end auto-generated rules ################################################### |
From: stephan b. <sg...@us...> - 2004-12-24 19:26:52
|
Update of /cvsroot/pclasses/pclasses2/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1355/test Modified Files: FactoryTest.cpp Makefile.toc Log Message: more tests... Index: FactoryTest.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/test/FactoryTest.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- FactoryTest.cpp 24 Dec 2004 12:44:03 -0000 1.2 +++ FactoryTest.cpp 24 Dec 2004 19:26:41 -0000 1.3 @@ -8,6 +8,7 @@ #include <cassert> #include <pclasses/Factory.h> +#include <pclasses/Plugin/Plugin.h> #ifndef CERR @@ -86,11 +87,23 @@ TheBase * a = 0; -#define LOAD(CN) a = P::CL::classload<TheBase>( CN ); \ - CERR << CN << " loaded? == " << a << "\n"; \ +#define CLOAD(CN) a = P::CL::classload<TheBase>( CN ); \ + CERR << CN << " classload()ed? == " << a << "\n"; \ if( a ) CERR << "classname="<<a->classname()<<"\n"; \ delete( a ); a = 0; + /************************* +Can't test until linking the libpclasses_xxx works. + typedef P::Plugin::PluginManager<TheBase> PM; + PM & pm = PM::instance(); +#define PLOAD(CN) a = pm.create( CN ); \ + CERR << CN << " plugin-create()ed? == " << a << "\n"; \ + if( a ) CERR << "classname="<<a->classname()<<"\n"; \ + delete( a ); a = 0; + *************************/ + +#define LOAD(CN) CLOAD(CN) + LOAD("TheBase"); LOAD("AType"); LOAD("BType"); Index: Makefile.toc =================================================================== RCS file: /cvsroot/pclasses/pclasses2/test/Makefile.toc,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.toc 23 Dec 2004 20:12:41 -0000 1.2 +++ Makefile.toc 24 Dec 2004 19:26:41 -0000 1.3 @@ -29,6 +29,7 @@ ifeq (1,$(build_bins)) BIN_PROGRAMS = FactoryTest FactoryTest_bin_OBJECTS = FactoryTest.o +# $(top_srcdir)/src/System/PathFinder.o $(wildcard $(top_srcdir)/src/System/SharedLib*.o) include $(TOC_MAKESDIR)/BIN_PROGRAMS.make # INSTALL_BINS += $(BIN_PROGRAMS) # Run target BIN_PROGRAMS to build these. |
From: stephan b. <sg...@us...> - 2004-12-24 19:26:35
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1293/src/System Modified Files: SharedLib.generic.cpp Log Message: Removed the #ifdef PCLASSES_HAVE_STL blockers. Christian agreed over email that we need STL. Index: SharedLib.generic.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/SharedLib.generic.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- SharedLib.generic.cpp 23 Dec 2004 21:50:44 -0000 1.3 +++ SharedLib.generic.cpp 24 Dec 2004 19:26:23 -0000 1.4 @@ -1,21 +1,14 @@ #include "pclasses/Phoenix.h" #include "pclasses/System/SharedLib.h" -#ifdef PCLASSES_WITH_STL -# include <list> -#endif +#include <list> namespace P { namespace System { -#ifdef PCLASSES_WITH_STL void* SharedLib::operator[](const std::string& symbol) throw(RuntimeError) { return operator[](symbol.c_str()); } -#endif - - -#ifdef PCLASSES_WITH_STL /** An internal helper type to clean up a list of SharedLib @@ -83,8 +76,5 @@ return sh; } -#endif // PCLASSES_WITH_STL - - } } // namespace P::System |
From: stephan b. <sg...@us...> - 2004-12-24 19:19:47
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32290/src/System Modified Files: testMime.cpp Log Message: Added test of writeDatabase(). Index: testMime.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/testMime.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- testMime.cpp 24 Dec 2004 15:14:18 -0000 1.3 +++ testMime.cpp 24 Dec 2004 19:19:38 -0000 1.4 @@ -59,6 +59,10 @@ } } + if( 1 ) + { + db.writeDatabase( std::cout ); + } return 0; } |
From: stephan b. <sg...@us...> - 2004-12-24 19:17:54
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31813/include/pclasses/System Modified Files: SharedLib.h Log Message: Removed the #ifdef PCLASSES_HAVE_STL blockers. Christian agreed over email that we need STL. Index: SharedLib.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/System/SharedLib.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- SharedLib.h 23 Dec 2004 21:39:51 -0000 1.4 +++ SharedLib.h 24 Dec 2004 19:17:45 -0000 1.5 @@ -66,10 +66,8 @@ SharedLib(const Unicode::String& name, BindMode mode = BindLazy) throw(SystemError); -#ifdef PCLASSES_WITH_STL SharedLib(const std::string& name, BindMode mode = BindLazy) throw(SystemError); -#endif //! Destructor /*! @@ -86,9 +84,11 @@ */ void* operator[](const char* symbol) throw(RuntimeError); -#ifdef PCLASSES_WITH_STL void* operator[](const std::string& symbol) throw(RuntimeError); -#endif + + // TODO: + // static std::string sharedLibExtension(); + // returns "so", "dll", etc. private: unsigned long _handle; |
From: stephan b. <sg...@us...> - 2004-12-24 19:17:05
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31557/include/pclasses Modified Files: Factory.h Log Message: Some API renaming, for consistency with other API parts (Plugin). Index: Factory.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Factory.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Factory.h 24 Dec 2004 13:10:54 -0000 1.6 +++ Factory.h 24 Dec 2004 19:16:54 -0000 1.7 @@ -165,8 +165,8 @@ <pre> Factory<MyClass> & fac = Factory<MyClass>::instance(); fac.registerFactory( "my_key", P::Hook::FactoryCreateHook>MyClass<::create ); -MyClass *foo = fac.instantiate( "some_key" ); // == NULL -foo = fac.instantiate( "my_key" ); // == a new MyClass object +MyClass *foo = fac.create( "some_key" ); // == NULL +foo = fac.create( "my_key" ); // == a new MyClass object </pre> Note that all instantiators of the same type use the same @@ -235,7 +235,7 @@ Subtypes are free to implement, e.g., DLL lookups. */ - virtual result_type instantiate( const key_type & key ) + virtual result_type create( const key_type & key ) { typename FactoryMap::const_iterator it = factoryMap().find( key ); if ( it != factoryMap().end() ) // found a factory? @@ -247,7 +247,24 @@ /** - Returns this->instantiate(key). + Deletes obj. Subclasses are free to do custom + accounting, garbage collection, or whatever, by + overriding this. + + Note that it is not practical to expect all clients + to call this in order to destroy their objects, so + the utility of this function is highly arguable. + + Subclasses are free to dictate a must-destroy() + policy if they wish. + */ + virtual void destroy( result_type obj ) + { + delete obj; + } + + /** + Returns this->create(key). */ result_type operator()( const key_type & key ) { @@ -281,7 +298,7 @@ */ static FactoryMap & factoryMap() { - return Phoenix<FactoryMap,ThisType>::instance(); + return Phoenix<FactoryMap,context_type>::instance(); } /** @@ -290,7 +307,7 @@ is sometimes necessary post-main(), when the internal map gets hosed before clients are done using it. */ - bool isRegistered( const key_type & key ) const + bool provides( const key_type & key ) const { return factoryMap().end() != factoryMap().find( key ); } @@ -374,12 +391,12 @@ } /** - Returns the same as NamedTypeFactory<InterfaceT>::instance().instantiate( classname ). + Returns the same as NamedTypeFactory<InterfaceT>::instance().create( classname ). */ template <typename InterfaceT> InterfaceT * classload( const std::string & classname ) { - return NamedTypeFactory<InterfaceT>::instance().instantiate( classname ); + return NamedTypeFactory<InterfaceT>::instance().create( classname ); } } // namespace CL |
From: stephan b. <sg...@us...> - 2004-12-24 19:16:28
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31439/include/pclasses Modified Files: pclasses-config.h.at Log Message: Changed shared data dir name from pclasses2 to pclasses, to avoid confusion. Index: pclasses-config.h.at =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/pclasses-config.h.at,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- pclasses-config.h.at 24 Dec 2004 12:44:01 -0000 1.3 +++ pclasses-config.h.at 24 Dec 2004 19:16:19 -0000 1.4 @@ -11,7 +11,7 @@ #define PCLASSES_INSTALL_PREFIX "@prefix@" #define PCLASSES_LIB_DIR "@prefix@/lib" -#define PCLASSES_SHARED_DATA_DIR "@prefix@/share/@PACKAGE_NAME@" +#define PCLASSES_SHARED_DATA_DIR "@prefix@/share/pclasses" #define PCLASSES_PLUGINS_DIR "@prefix@/lib/pclasses" #if @PCLASSES_HAVE_LARGEFILE@ == 0 |
From: stephan b. <sg...@us...> - 2004-12-24 19:15:56
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31309/include/pclasses Modified Files: SharingContext.h Log Message: Added PluginContext. Index: SharingContext.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/SharingContext.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- SharingContext.h 24 Dec 2004 15:14:03 -0000 1.1 +++ SharingContext.h 24 Dec 2004 19:15:44 -0000 1.2 @@ -25,6 +25,8 @@ struct CryptoContext {}; /** Internal marker class. */ struct MimeContext {}; + /** Internal marker class. */ + struct PluginContext {}; } } // namespace P::Sharing |
From: stephan b. <sg...@us...> - 2004-12-24 19:15:33
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses/Plugin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31255/include/pclasses/Plugin Added Files: Makefile.toc Plugin.h Log Message: egg --- NEW FILE: Makefile.toc --- #!/usr/bin/make -f include toc.make HEADERS = Plugin.h DIST_FILES += $(HEADERS) INSTALL_PACKAGE_HEADERS_DEST = $(prefix)/include/pclasses/Plugin INSTALL_PACKAGE_HEADERS += $(HEADERS) all: --- NEW FILE: Plugin.h --- #ifndef p_PLUGIN_HPP_INCLUDED #define p_PLUGIN_HPP_INCLUDED 1 #include <list> #include <string> #include "pclasses/pclasses-config.h" #include "pclasses/Factory.h" #include "pclasses/NonCopyable.h" #include "pclasses/System/SharedLib.h" #include "pclasses/System/PathFinder.h" #include "pclasses/System/Directory.h" namespace P { namespace Plugin { /** An internal helper type to clean up a list of pointers to objects. ContainterT must be compatible with list<T *> and calling 'delete Tobj' must be well-behaved. */ template <typename ContainterT> struct PluginCleaner : public ::P::NonCopyable { typedef ContainterT ListType; PluginCleaner() { } /** Calls delete() on each entry in container(). */ ~PluginCleaner() throw() { typename ListType::iterator it = m_list.begin(); while( m_list.end() != it ) { delete( (*it) ); ++it; } m_list.clear(); } /** Returns this object's container. */ ListType & container() { return this->m_list; } private: ListType m_list; }; /** PluginManager is an extended Factory type which attempts to provide a platform-neutral Plugin interface. Note that it inherits a "context type" from NamedTypeFactory, and shares factory maps with Factory<InterfaceT,string,ContextT>. The main implication of this is that one a PluginManager loads a plugin it may enable lower-level Factory objects to load types the plugin just loaded. */ template <class InterfaceT> class PluginManager : public ::P::NamedTypeFactory< InterfaceT >, public NonCopyable { public: typedef InterfaceT InterfaceType; typedef ::P::NamedTypeFactory< InterfaceT > ParentType; typedef PluginManager<InterfaceType> ThisType; /** Creates a PluginManager with a default search path and a platform-specific DLL file extension added to it's searchPath(). */ PluginManager() { this->init(); } /** When a PluginManager goes out of scope it deletes all SharedLib objects it opened via addPlugin(). The exact behaviour of this depends on the platform-specific SharedLib implementation. It is never safe to use symbols from a DLL once the DLL has been closed, but it is also impossible for us to track every single dll-registered symbol. Thus the safest thing to do is never use standlone PluginManager instances, and use the one available via instance() instead. */ virtual ~PluginManager() throw() { // reminder: m_holder goes out of scope // and cleans up it's container() now... } /** Adds dir to the lib search path. If dir does not exist then a RuntimeError will be thrown. */ void addPluginDir( const std::string & dir ) throw(::P::RuntimeError) { using ::P::System::Directory; const Directory d(dir); // throws on error d.begin(); // avoid 'unused var' warning. // ^^^ need to find a more elegant solution for that. this->searchPath().addPath( dir ); } /** Searches for so_name using searchPath(). If not found, a SystemError is thrown. If found, a SharedLib(filename) is created. If creation fails, a SystemError is thrown. On success a SharedLib pointer is returned. The caller does NOT own the pointer - it is owned by this class. @todo: if the SO is already opened, give back the existing SharedLib. We can't do this until we map names to SharedLibs, which we really have little reason to do. */ ::P::System::SharedLib * addPlugin( const std::string & so_name ) throw(::P::RuntimeError) { std::string fn = this->searchPath().find( so_name ); if( ! fn ) { throw ::P::SystemError( std::string("No plugin found for '")+so_name+"'.", P_SOURCEINFO ); } ::P::System::SharedLib * shl = ::P::System::openSharedLib( fn ); this->m_holder.container().push_back( shl ); return shl; } /** Returns a shared instance to an object of this type. Note that this shadows a static member of the same name in the base class! */ static ThisType & instance() { return ::P::Hook::FactoryInstanceHook<ThisType>::instance(); } /** This object's search path. Clients are free to modify it. */ ::P::System::PathFinder & searchPath() { return this->m_path; } /** This object's search path. */ const ::P::System::PathFinder & searchPath() const { return this->m_path; } /** A type used to hold SharedLib handles. */ typedef std::list< ::P::System::SharedLib * > PluginList; /** Returns the list of SharedLibs opened by this type. Clients should never destroy or close the libs in this list - they are owned by this class. A client may remove an entry from this list to take over ownership, but closing the lib may provide undefined results. If other parts of the program are still referencing memory which was once provided by the DLL, they will crash when they use it next. In practice it is safest to not close the DLLs and to let the OS do it at app shutdown. */ PluginList & sharedLibs() { return this->m_holder.container(); } const PluginList & sharedLibs() const { return this->m_holder.container(); } private: // PluginManager( const ThisType & ); // not impl. // ThisType & operator=( const ThisType & ); // not impl. void init() { this->m_path.addPath( "." ); this->m_path.addPath( PCLASSES_PLUGINS_DIR ); this->m_path.addPath( PCLASSES_LIB_DIR ); #ifdef __WIN32__ this->m_path.addExtension( ".dll" ); #else this->m_path.addExtension( ".so" ); #endif } PluginCleaner<PluginList> m_holder; ::P::System::PathFinder m_path; // ^^^^ todo: consider making this static. }; /** A convenience form of PluginManager<T>::instance(). */ template <typename T> PluginManager<T> & pluginManager() { return PluginManager<T>::instance(); } /** Convenience function to add a plugin dir to pluginManager<T>(). */ template <typename T> void addPluginDir( const std::string & path ) throw(RuntimeError) { return pluginManager<T>().addPluginDir( path ); } /** Convenience function to open a plugin using pluginManager<T>(). */ template <typename T> ::P::System::SharedLib * addPlugin( const std::string & ) throw(RuntimeError) { return pluginManager<T>().addPlugin( p ); } } } // namespace P:: Plugin #endif // p_PLUGIN_HPP_INCLUDED |
From: stephan b. <sg...@us...> - 2004-12-24 19:14:56
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses/Plugin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31108/include/pclasses/Plugin Log Message: Directory /cvsroot/pclasses/pclasses2/include/pclasses/Plugin added to the repository |
From: Christian P. <cp...@us...> - 2004-12-24 17:49:07
|
Update of /cvsroot/pclasses/pclasses2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14247 Modified Files: configure pclasses2.kdevelop Log Message: Rollback changes Index: pclasses2.kdevelop =================================================================== RCS file: /cvsroot/pclasses/pclasses2/pclasses2.kdevelop,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- pclasses2.kdevelop 24 Dec 2004 17:15:49 -0000 1.3 +++ pclasses2.kdevelop 24 Dec 2004 17:48:51 -0000 1.4 @@ -1,24 +1,84 @@ <?xml version = '1.0'?> <kdevelop> <general> - <author>pclasses</author> - <email>arklinux@localhost.localdomain</email> + <author>Christian Prochnow</author> + <email>cp...@se...</email> <version>$VERSION$</version> - <projectmanagement>KDevCustomProject</projectmanagement> + <projectmanagement>KDevAutoProject</projectmanagement> <primarylanguage>C++</primarylanguage> - <ignoreparts/> + <keywords> + <keyword>C++</keyword> + <keyword>Code</keyword> + </keywords> + <projectdirectory>.</projectdirectory> + <absoluteprojectpath>false</absoluteprojectpath> + <description/> + <ignoreparts> + <part>Unterstützung für ClearCase (KDevelop)</part> + <part>Unterstützung für Perforce (KDevelop)</part> + </ignoreparts> + <secondaryLanguages/> </general> - <kdevcustomproject> + <kdevautoproject> + <general> + <activetarget>src/net/libpclasses_net.la</activetarget> + <useconfiguration>debug</useconfiguration> + </general> <run> - <mainprogram>pclasses2</mainprogram> + <mainprogram>test/ThreadTest</mainprogram> + <terminal>true</terminal> <directoryradio>executable</directoryradio> + <runarguments> + <PtrTest/> + <QueueTest/> + <StackTest/> + <IntTypeTest/> + <ListTest/> + <ThreadTest/> + </runarguments> + <customdirectory>/</customdirectory> + <programargs/> + <autocompile>true</autocompile> + <envvars/> </run> - </kdevcustomproject> - <kdevdebugger> - <general> - <dbgshell/> - </general> - </kdevdebugger> + <configurations> + <optimized> + <builddir>optimized</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O2 -g0</cxxflags> + </optimized> + <debug> + <configargs>--with-stl --enable-debug=full</configargs> + <builddir>debug</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O0 -g3</cxxflags> + <envvars/> + <topsourcedir/> + <cppflags/> + <ldflags/> + <ccompilerbinary/> + <cxxcompilerbinary/> + <f77compilerbinary/> + <cflags/> + <f77flags/> + </debug> + </configurations> + <make> + <envvars> + <envvar value="1" name="WANT_AUTOCONF_2_5" /> + <envvar value="1" name="WANT_AUTOMAKE_1_6" /> + </envvars> + <abortonerror>true</abortonerror> + <numberofjobs>1</numberofjobs> + <dontact>false</dontact> + <makebin/> + <prio>0</prio> + </make> + </kdevautoproject> <kdevdoctreeview> <ignoretocs> <toc>ada</toc> @@ -26,6 +86,7 @@ <toc>bash</toc> <toc>bash_bugs</toc> <toc>clanlib</toc> + <toc>w3c-dom-level2-html</toc> <toc>fortran_bugs_gcc</toc> <toc>gnome1</toc> <toc>gnustep</toc> @@ -48,11 +109,10 @@ <toc>ruby</toc> <toc>ruby_bugs</toc> <toc>sdl</toc> - <toc>sw</toc> - <toc>w3c-dom-level2-html</toc> <toc>w3c-svg</toc> + <toc>sw</toc> <toc>w3c-uaag10</toc> - <toc>wxwidgets_bugs</toc> + <toc>wxwindows_bugs</toc> </ignoretocs> <ignoreqt_xml> <toc>Guide to the Qt Translation Tools</toc> @@ -64,22 +124,39 @@ <ignoredoxygen> <toc>KDE Libraries (Doxygen)</toc> </ignoredoxygen> + <projectdoc> + <userdocDir>html/</userdocDir> + <apidocDir>html/</apidocDir> + </projectdoc> + <ignorekdocs/> + <ignoredevhelp/> </kdevdoctreeview> <kdevfilecreate> <filetypes/> <useglobaltypes> - <type ext="ui" /> <type ext="cpp" /> <type ext="h" /> </useglobaltypes> </kdevfilecreate> + <kdevfileview> + <groups> + <group pattern="*.h" name="Header files" /> + <group pattern="*.cpp" name="Source files" /> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidenonlocation>false</hidenonlocation> + </groups> + <tree> + <hidepatterns>*.o,*.lo,CVS</hidepatterns> + <hidenonprojectfiles>false</hidenonprojectfiles> + </tree> + </kdevfileview> <kdevcppsupport> <references/> <codecompletion> <includeGlobalFunctions>true</includeGlobalFunctions> <includeTypes>true</includeTypes> <includeEnums>true</includeEnums> - <includeTypedefs>false</includeTypedefs> + <includeTypedefs>true</includeTypedefs> <automaticCodeCompletion>true</automaticCodeCompletion> <automaticArgumentsHint>true</automaticArgumentsHint> <automaticHeaderCompletion>true</automaticHeaderCompletion> @@ -88,6 +165,37 @@ <headerCompletionDelay>250</headerCompletionDelay> </codecompletion> </kdevcppsupport> + <cppsupportpart> + <filetemplates> + <interfacesuffix>.h</interfacesuffix> + <implementationsuffix>.cpp</implementationsuffix> + </filetemplates> + </cppsupportpart> + <kdevdebugger> + <general> + <programargs/> + <gdbpath/> + <dbgshell>libtool</dbgshell> + <configGdbScript/> + <runShellScript/> + <runGdbScript/> + <breakonloadinglibs>true</breakonloadinglibs> + <separatetty>false</separatetty> + <floatingtoolbar>false</floatingtoolbar> + </general> + <display> + <staticmembers>false</staticmembers> + <demanglenames>true</demanglenames> + <outputradix>10</outputradix> + </display> + </kdevdebugger> + <kdevdocumentation> + <projectdoc> + <docsystem>Doxygen-Dokumentation</docsystem> + <docurl>doc/PClasses.tag</docurl> + <usermanualurl/> + </projectdoc> + </kdevdocumentation> <kdevcvsservice> <recursivewhenupdate>true</recursivewhenupdate> <prunedirswhenupdate>true</prunedirswhenupdate> @@ -95,15 +203,4 @@ <recursivewhencommitremove>true</recursivewhencommitremove> <revertoptions>-C</revertoptions> </kdevcvsservice> - <kdevfileview> - <groups> - <hidenonprojectfiles>false</hidenonprojectfiles> - <hidenonlocation>false</hidenonlocation> - </groups> - <tree> - <showvcsfields>false</showvcsfields> - <hidenonprojectfiles>false</hidenonprojectfiles> - <hidepatterns>*.o,*.lo,CVS</hidepatterns> - </tree> - </kdevfileview> </kdevelop> Index: configure =================================================================== RCS file: /cvsroot/pclasses/pclasses2/configure,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- configure 24 Dec 2004 17:15:48 -0000 1.4 +++ configure 24 Dec 2004 17:48:51 -0000 1.5 @@ -1,27323 +1,6 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. -# -# Copyright (C) 2003 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - [...27298 lines suppressed...] - echo 's/#define *\([A-Za-z0-9_]*\)\(.*\)/#ifndef '$ac_prefix_conf_PRE"_\\1 \\" >>conftest.sed - echo '#define '$ac_prefix_conf_PRE"_\\1 \\2 \\" >>conftest.sed - echo '#endif/' >>conftest.sed - sed -f conftest.sed $ac_prefix_conf_INP >>$ac_prefix_conf_OUT - echo ' ' >>$ac_prefix_conf_OUT - echo '/*' $ac_prefix_conf_DEF '*/' >>$ac_prefix_conf_OUT - echo '#endif' >>$ac_prefix_conf_OUT - else - { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_IN does not exist, skip generating $ac_prefix_conf_OUT" >&5 -echo "$as_me: error: input file $ac_prefix_conf_IN does not exist, skip generating $ac_prefix_conf_OUT" >&2;} - { (exit 1); exit 1; }; } - fi - rm -f conftest.* -fi +#!/bin/sh +# This is the toc-based configure script. If you use autotools they +# will overwrite this file, which is fine. +# CVS users: please do not commit an autotools-generated +# configure over this one! +exec ./configure.toc "$@" |
From: Christian P. <cp...@us...> - 2004-12-24 17:17:06
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8293/include/pclasses Modified Files: Exception.h Log Message: Added OverflowError Index: Exception.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Exception.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Exception.h 24 Dec 2004 16:48:05 -0000 1.2 +++ Exception.h 24 Dec 2004 17:16:57 -0000 1.3 @@ -104,6 +104,12 @@ ~OutOfBounds() throw(); }; +class OverflowError: public RuntimeError { + public: + OverflowError(const char* what, const SourceInfo& si) throw(); + ~OverflowError() throw(); +}; + } //! namespace P #endif |
From: Christian P. <cp...@us...> - 2004-12-24 17:17:06
|
Update of /cvsroot/pclasses/pclasses2/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8293/src Modified Files: Exception.cpp Log Message: Added OverflowError Index: Exception.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/Exception.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Exception.cpp 24 Dec 2004 16:48:04 -0000 1.3 +++ Exception.cpp 24 Dec 2004 17:16:57 -0000 1.4 @@ -118,4 +118,14 @@ { } + +OverflowError::OverflowError(const char* what, const SourceInfo& si) throw() +: RuntimeError(what, si) +{ +} + +OverflowError::~OverflowError() throw() +{ +} + } // !namespace P |
From: Marc D. <ma...@us...> - 2004-12-24 17:16:07
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7400/src/System Modified Files: File.posix.cpp Pipe.posix.cpp Log Message: 3.4.4 fixes Index: File.posix.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/File.posix.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- File.posix.cpp 23 Dec 2004 21:14:00 -0000 1.5 +++ File.posix.cpp 24 Dec 2004 17:15:51 -0000 1.6 @@ -22,6 +22,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <limits.h> #include <fcntl.h> #include <unistd.h> #include <errno.h> Index: Pipe.posix.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/Pipe.posix.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Pipe.posix.cpp 23 Dec 2004 05:56:11 -0000 1.3 +++ Pipe.posix.cpp 24 Dec 2004 17:15:51 -0000 1.4 @@ -22,6 +22,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <limits.h> #include <unistd.h> #include <errno.h> |
From: Marc D. <ma...@us...> - 2004-12-24 17:16:07
|
Update of /cvsroot/pclasses/pclasses2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7400 Modified Files: configure pclasses2.kdevelop Log Message: 3.4.4 fixes Index: pclasses2.kdevelop =================================================================== RCS file: /cvsroot/pclasses/pclasses2/pclasses2.kdevelop,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- pclasses2.kdevelop 23 Dec 2004 04:32:14 -0000 1.2 +++ pclasses2.kdevelop 24 Dec 2004 17:15:49 -0000 1.3 @@ -1,84 +1,24 @@ <?xml version = '1.0'?> <kdevelop> <general> - <author>Christian Prochnow</author> - <email>cp...@se...</email> + <author>pclasses</author> + <email>arklinux@localhost.localdomain</email> <version>$VERSION$</version> - <projectmanagement>KDevAutoProject</projectmanagement> + <projectmanagement>KDevCustomProject</projectmanagement> <primarylanguage>C++</primarylanguage> - <keywords> - <keyword>C++</keyword> - <keyword>Code</keyword> - </keywords> - <projectdirectory>.</projectdirectory> - <absoluteprojectpath>false</absoluteprojectpath> - <description/> - <ignoreparts> - <part>Unterstützung für ClearCase (KDevelop)</part> - <part>Unterstützung für Perforce (KDevelop)</part> - </ignoreparts> - <secondaryLanguages/> + <ignoreparts/> </general> - <kdevautoproject> - <general> - <activetarget>src/net/libpclasses_net.la</activetarget> - <useconfiguration>debug</useconfiguration> - </general> + <kdevcustomproject> <run> - <mainprogram>test/ThreadTest</mainprogram> - <terminal>true</terminal> + <mainprogram>pclasses2</mainprogram> <directoryradio>executable</directoryradio> - <runarguments> - <PtrTest/> - <QueueTest/> - <StackTest/> - <IntTypeTest/> - <ListTest/> - <ThreadTest/> - </runarguments> - <customdirectory>/</customdirectory> - <programargs/> - <autocompile>true</autocompile> - <envvars/> </run> - <configurations> - <optimized> - <builddir>optimized</builddir> - <ccompiler>kdevgccoptions</ccompiler> - <cxxcompiler>kdevgppoptions</cxxcompiler> - <f77compiler>kdevg77options</f77compiler> - <cxxflags>-O2 -g0</cxxflags> - </optimized> - <debug> - <configargs>--with-stl --enable-debug=full</configargs> - <builddir>debug</builddir> - <ccompiler>kdevgccoptions</ccompiler> - <cxxcompiler>kdevgppoptions</cxxcompiler> - <f77compiler>kdevg77options</f77compiler> - <cxxflags>-O0 -g3</cxxflags> - <envvars/> - <topsourcedir/> - <cppflags/> - <ldflags/> - <ccompilerbinary/> - <cxxcompilerbinary/> - <f77compilerbinary/> - <cflags/> - <f77flags/> - </debug> - </configurations> - <make> - <envvars> - <envvar value="1" name="WANT_AUTOCONF_2_5" /> - <envvar value="1" name="WANT_AUTOMAKE_1_6" /> - </envvars> - <abortonerror>true</abortonerror> - <numberofjobs>1</numberofjobs> - <dontact>false</dontact> - <makebin/> - <prio>0</prio> - </make> - </kdevautoproject> + </kdevcustomproject> + <kdevdebugger> + <general> + <dbgshell/> + </general> + </kdevdebugger> <kdevdoctreeview> <ignoretocs> <toc>ada</toc> @@ -86,7 +26,6 @@ <toc>bash</toc> <toc>bash_bugs</toc> <toc>clanlib</toc> - <toc>w3c-dom-level2-html</toc> <toc>fortran_bugs_gcc</toc> <toc>gnome1</toc> <toc>gnustep</toc> @@ -109,10 +48,11 @@ <toc>ruby</toc> <toc>ruby_bugs</toc> <toc>sdl</toc> - <toc>w3c-svg</toc> <toc>sw</toc> + <toc>w3c-dom-level2-html</toc> + <toc>w3c-svg</toc> <toc>w3c-uaag10</toc> - <toc>wxwindows_bugs</toc> + <toc>wxwidgets_bugs</toc> </ignoretocs> <ignoreqt_xml> <toc>Guide to the Qt Translation Tools</toc> @@ -124,39 +64,22 @@ <ignoredoxygen> <toc>KDE Libraries (Doxygen)</toc> </ignoredoxygen> - <projectdoc> - <userdocDir>html/</userdocDir> - <apidocDir>html/</apidocDir> - </projectdoc> - <ignorekdocs/> - <ignoredevhelp/> </kdevdoctreeview> <kdevfilecreate> <filetypes/> <useglobaltypes> + <type ext="ui" /> <type ext="cpp" /> <type ext="h" /> </useglobaltypes> </kdevfilecreate> - <kdevfileview> - <groups> - <group pattern="*.h" name="Header files" /> - <group pattern="*.cpp" name="Source files" /> - <hidenonprojectfiles>false</hidenonprojectfiles> - <hidenonlocation>false</hidenonlocation> - </groups> - <tree> - <hidepatterns>*.o,*.lo,CVS</hidepatterns> - <hidenonprojectfiles>false</hidenonprojectfiles> - </tree> - </kdevfileview> <kdevcppsupport> <references/> <codecompletion> <includeGlobalFunctions>true</includeGlobalFunctions> <includeTypes>true</includeTypes> <includeEnums>true</includeEnums> - <includeTypedefs>true</includeTypedefs> + <includeTypedefs>false</includeTypedefs> <automaticCodeCompletion>true</automaticCodeCompletion> <automaticArgumentsHint>true</automaticArgumentsHint> <automaticHeaderCompletion>true</automaticHeaderCompletion> @@ -165,37 +88,6 @@ <headerCompletionDelay>250</headerCompletionDelay> </codecompletion> </kdevcppsupport> - <cppsupportpart> - <filetemplates> - <interfacesuffix>.h</interfacesuffix> - <implementationsuffix>.cpp</implementationsuffix> - </filetemplates> - </cppsupportpart> - <kdevdebugger> - <general> - <programargs/> - <gdbpath/> - <dbgshell>libtool</dbgshell> - <configGdbScript/> - <runShellScript/> - <runGdbScript/> - <breakonloadinglibs>true</breakonloadinglibs> - <separatetty>false</separatetty> - <floatingtoolbar>false</floatingtoolbar> - </general> - <display> - <staticmembers>false</staticmembers> - <demanglenames>true</demanglenames> - <outputradix>10</outputradix> - </display> - </kdevdebugger> - <kdevdocumentation> - <projectdoc> - <docsystem>Doxygen-Dokumentation</docsystem> - <docurl>doc/PClasses.tag</docurl> - <usermanualurl/> - </projectdoc> - </kdevdocumentation> <kdevcvsservice> <recursivewhenupdate>true</recursivewhenupdate> <prunedirswhenupdate>true</prunedirswhenupdate> @@ -203,4 +95,15 @@ <recursivewhencommitremove>true</recursivewhencommitremove> <revertoptions>-C</revertoptions> </kdevcvsservice> + <kdevfileview> + <groups> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidenonlocation>false</hidenonlocation> + </groups> + <tree> + <showvcsfields>false</showvcsfields> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidepatterns>*.o,*.lo,CVS</hidepatterns> + </tree> + </kdevfileview> </kdevelop> Index: configure =================================================================== RCS file: /cvsroot/pclasses/pclasses2/configure,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- configure 23 Dec 2004 00:06:16 -0000 1.3 +++ configure 24 Dec 2004 17:15:48 -0000 1.4 @@ -1,6 +1,27323 @@ -#!/bin/sh -# This is the toc-based configure script. If you use autotools they -# will overwrite this file, which is fine. -# CVS users: please do not commit an autotools-generated -# configure over this one! -exec ./configure.toc "$@" +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59. +# +# Copyright (C) 2003 Free Software Foundation, Inc. [...27298 lines suppressed...] + echo '#ifndef '$ac_prefix_conf_DEF >$ac_prefix_conf_OUT + echo '#define '$ac_prefix_conf_DEF' 1' >>$ac_prefix_conf_OUT + echo ' ' >>$ac_prefix_conf_OUT + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$ac_prefix_conf_OUT + + echo 's/#undef */#undef '$ac_prefix_conf_PRE'_/' >conftest.sed + echo 's/#define *\([A-Za-z0-9_]*\)\(.*\)/#ifndef '$ac_prefix_conf_PRE"_\\1 \\" >>conftest.sed + echo '#define '$ac_prefix_conf_PRE"_\\1 \\2 \\" >>conftest.sed + echo '#endif/' >>conftest.sed + sed -f conftest.sed $ac_prefix_conf_INP >>$ac_prefix_conf_OUT + echo ' ' >>$ac_prefix_conf_OUT + echo '/*' $ac_prefix_conf_DEF '*/' >>$ac_prefix_conf_OUT + echo '#endif' >>$ac_prefix_conf_OUT + else + { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_IN does not exist, skip generating $ac_prefix_conf_OUT" >&5 +echo "$as_me: error: input file $ac_prefix_conf_IN does not exist, skip generating $ac_prefix_conf_OUT" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f conftest.* +fi |
From: Marc D. <ma...@us...> - 2004-12-24 17:16:06
|
Update of /cvsroot/pclasses/pclasses2/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7400/test Modified Files: PtrTest.cpp Log Message: 3.4.4 fixes Index: PtrTest.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/test/PtrTest.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- PtrTest.cpp 22 Dec 2004 17:54:37 -0000 1.1.1.1 +++ PtrTest.cpp 24 Dec 2004 17:15:51 -0000 1.2 @@ -55,9 +55,9 @@ ScopedPtr<TestObj> ptr(new TestObj(0)); ptr->test(); - ScopedArrayPtr<TestObj> arrayPtr(new TestObj[2](1)); - arrayPtr[0].test(); - arrayPtr[1].test(); + //ScopedArrayPtr<TestObj> arrayPtr(new TestObj[2]); + //arrayPtr[0].test(); + //arrayPtr[1].test(); SharedPtr<TestObj> sptr(new TestObj(2)); SharedPtr<TestObj> sptr2 = sptr; |
From: Marc D. <ma...@us...> - 2004-12-24 17:16:05
|
Update of /cvsroot/pclasses/pclasses2/src/Net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7400/src/Net Modified Files: SocketOption.h Log Message: 3.4.4 fixes Index: SocketOption.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/Net/SocketOption.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- SocketOption.h 23 Dec 2004 04:32:18 -0000 1.2 +++ SocketOption.h 24 Dec 2004 17:15:51 -0000 1.3 @@ -22,6 +22,8 @@ #define P_Net_SocketOption_h #include "pclasses/IO/IOError.h" +#include <sys/types.h> +#include <sys/socket.h> #include <errno.h> namespace P { |
From: Marc D. <ma...@us...> - 2004-12-24 17:16:04
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7400/include/pclasses Modified Files: AtomicTraits.h IntTypes.h Log Message: 3.4.4 fixes Index: AtomicTraits.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/AtomicTraits.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- AtomicTraits.h 22 Dec 2004 17:54:39 -0000 1.1.1.1 +++ AtomicTraits.h 24 Dec 2004 17:15:50 -0000 1.2 @@ -41,10 +41,10 @@ atomic->value = val; } - static Type get(const AtomicType* val) throw() + static Type get(const AtomicType* atomic) throw() { System::CriticalSection::ScopedLock lck(atomic->lock); - return val->value; + return atomic->value; } static void inc(AtomicType* val) throw() Index: IntTypes.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/IntTypes.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- IntTypes.h 22 Dec 2004 17:54:39 -0000 1.1.1.1 +++ IntTypes.h 24 Dec 2004 17:15:50 -0000 1.2 @@ -50,19 +50,19 @@ //! Set the value from little-endian value void setLittleEndian(const IntType& val) throw() - { TraitsType::setLittleEndian(_value, val._value); } + { TraitsType::setLittleEndian(this->_value, val._value); } //! Returns the value as little-endian IntType littleEndian() const throw() - { return IntType(TraitsType::littleEndian(_value)); } + { return IntType(TraitsType::littleEndian(this->_value)); } //! Set value from big-endian value void setBigEndian(const IntType& val) throw() - { TraitsType::setBigEndian(_value, val._value); } + { TraitsType::setBigEndian(this->_value, val._value); } //! Returns the value as big-endian IntType bigEndian() const throw() - { return IntType(TraitsType::bigEndian(_value)); } + { return IntType(TraitsType::bigEndian(this->_value)); } }; |
From: Christian P. <cp...@us...> - 2004-12-24 17:07:16
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6416/src/System Modified Files: Thread.posix.cpp Log Message: Added missing #include <unistd.h> reqd for usleep() Index: Thread.posix.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/System/Thread.posix.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Thread.posix.cpp 22 Dec 2004 17:54:37 -0000 1.1.1.1 +++ Thread.posix.cpp 24 Dec 2004 17:07:06 -0000 1.2 @@ -25,6 +25,7 @@ #include "timeout.h" #include <pthread.h> +#include <unistd.h> #include <errno.h> namespace P { |
From: Christian P. <cp...@us...> - 2004-12-24 16:51:07
|
Update of /cvsroot/pclasses/pclasses2/src/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3199/src/System Added Files: Directory.posix.cpp Log Message: Added Directory class (untested) --- NEW FILE: Directory.posix.cpp --- /*************************************************************************** * Copyright (C) 2004 by Christian Prochnow * * cp...@se... * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library General Public License as * * published by the Free Software Foundation; either version 2 of the * * License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "pclasses/System/Directory.h" #include <sys/stat.h> #include <sys/types.h> #include <dirent.h> #include <unistd.h> #include <errno.h> namespace P { namespace System { Directory::Directory(const Unicode::String& path) throw(IO::IOError) : _path(path) { /*@fixme DIR* d = opendir(_path.utf8()); if(!d) throw IOError(errno, "Could not open directory", P_SOURCEINFO); _handle = (unsigned long)d;*/ } Directory::Directory(const std::string& path) throw(IO::IOError) : _path(path.c_str()) { DIR* d = opendir(path.c_str()); if(!d) throw IO::IOError(errno, "Could not open directory", P_SOURCEINFO); _handle = (unsigned long)d; } Directory::~Directory() throw() { closedir((DIR*)_handle); } const Unicode::String& Directory::path() const throw() { return _path; } void Directory::reload() throw(IO::IOError) { _entries.clear(); rewinddir((DIR*)_handle); struct dirent* de; while((de = readdir((DIR*)_handle))) _entries.append(Unicode::String(de->d_name)); } Directory::Iterator Directory::begin() const { return _entries.begin(); } Directory::Iterator Directory::end() const { return _entries.end(); } Unicode::String Directory::current() throw(IO::IOError) { char cwd[PATH_MAX]; if(!getcwd(cwd, PATH_MAX)) throw IO::IOError(errno, "Could not get current working directroy", P_SOURCEINFO); return Unicode::String(cwd); } void Directory::change(const Unicode::String& path) throw(IO::IOError) { /*@fixme if(chdir(path.utf8()) == -1) throw IO::IOError(errno, "Could not change working directory", P_SOURCEINFO);*/ } void Directory::create(const Unicode::String& path) throw(IO::IOError) { /*@fixme if(mkdir(path.utf8(), 0777) == -1) throw IO::IOError(errno, "Could not change working directory", P_SOURCEINFO); */ } void Directory::remove(const Unicode::String& path) throw(IO::IOError) { /*@fixme if(rmdir(path.utf8()) == -1) throw IO::IOError(errno, "Could not remove directory", P_SOURCEINFO); */ } } // !namespace System } // !namespace P |
From: Christian P. <cp...@us...> - 2004-12-24 16:51:05
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses/System In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3199/include/pclasses/System Added Files: Directory.h Log Message: Added Directory class (untested) --- NEW FILE: Directory.h --- /*************************************************************************** * Copyright (C) 2004 by Christian Prochnow * * cp...@se... * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library General Public License as * * published by the Free Software Foundation; either version 2 of the * * License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef P_System_Directory_h #define P_System_Directory_h #include <pclasses/pclasses-config.h> #include <pclasses/List.h> #include <pclasses/Unicode/String.h> #include <pclasses/IO/IOError.h> #include <string> namespace P { namespace System { //! Filesystem Directory class class Directory { public: typedef List<Unicode::String> EntryList; typedef EntryList::ConstIterator Iterator; Directory(const Unicode::String& path) throw(IO::IOError); Directory(const std::string& path) throw(IO::IOError); ~Directory() throw(); const Unicode::String& path() const throw(); void reload() throw(IO::IOError); Iterator begin() const; Iterator end() const; static Unicode::String current() throw(IO::IOError); static void change(const Unicode::String& path) throw(IO::IOError); static void create(const Unicode::String& path) throw(IO::IOError); static void remove(const Unicode::String& path) throw(IO::IOError); private: unsigned long _handle; Unicode::String _path; List<Unicode::String> _entries; }; } // !namespace System } // !namespace P #endif |