--- parser3/src/include/pa_stylesheet_manager.h 2003/01/31 12:34:32 1.15.2.1 +++ parser3/src/include/pa_stylesheet_manager.h 2003/03/21 16:39:05 1.15.2.5.2.3 @@ -10,40 +10,39 @@ #ifndef PA_STYLESHEET_MANAGER_H #define PA_STYLESHEET_MANAGER_H -static const char* IDENT_STYLESHEET_MANAGER_H="$Date: 2003/01/31 12:34:32 $"; +static const char* IDENT_STYLESHEET_MANAGER_H="$Date: 2003/03/21 16:39:05 $"; + -#include "pa_pool.h" #include "pa_hash.h" #include "pa_table.h" #include "pa_cache_managers.h" - -// defines +#include "pa_stack.h" // forwards class Stylesheet_connection; -class Stylesheet_connection_ptr; +DECLARE_OBJECT_PTR(Stylesheet_connection); /** XSLT stylesheet driver manager maintains stylesheet cache expiring unused stylesheets */ -class Stylesheet_manager : public Cache_manager { +class Stylesheet_manager: public Cache_manager { friend class Stylesheet_connection; public: - Stylesheet_manager(Pool& apool); - virtual ~Stylesheet_manager(); + Stylesheet_manager(); + override ~Stylesheet_manager(); /** check for disk update of "{file_spec}" or "{file_spec}.stamp", if not updated return cached version[if any] otherwise load/compile/return */ - Stylesheet_connection_ptr get_connection(const String& file_spec); + Stylesheet_connectionPtr get_connection(const String& file_spec); private: // cache - Stylesheet_connection *get_connection_from_cache(const String& file_spec); - void put_connection_to_cache(const String& file_spec, Stylesheet_connection& connection); + Stylesheet_connectionPtr get_connection_from_cache(const String& file_spec); + void put_connection_to_cache(const String& file_spec, Stylesheet_connectionPtr connection); private: time_t prev_expiration_pass_time; @@ -52,18 +51,19 @@ private: // for stylesheet /// caches connection void close_connection(const String& file_spec, Stylesheet_connection& connection); +public: + typedef Hash > > connection_cache_type; private: - - Hash connection_cache; + connection_cache_type connection_cache; public: // Cache_manager - virtual Value& get_status(Pool& pool, const String *source); - virtual void maybe_expire_cache(); + override Value* get_status(); + override void maybe_expire_cache(); }; /// global -extern Stylesheet_manager *stylesheet_manager; +extern Stylesheet_manager stylesheet_manager; #endif