00001 #ifndef _IT_XML_RESOURCE_RESOLVER_REGISTRY_H_
00002 #define _IT_XML_RESOURCE_RESOLVER_REGISTRY_H_
00003
00004 #include <it_dsa/var.h>
00005 #include <it_tsdsa/ref_counted_base.h>
00006 #include <it_bus/api_defines.h>
00007 #include <it_bus_pdk/registry.h>
00008 #include <it_bus_pdk/xml_resource_resolver.h>
00009
00010 namespace IT_Bus
00011 {
00012 class IT_BUS_API XMLResolverRegistry :
00013 public RegistryBase
00014 {
00015 public:
00016
00017 virtual Boolean
00018 get_resource(
00019 const IT_Bus::URL& url,
00020 IT_Bus::XMLHelper& result
00021 ) throw((XMLResourceException)) = 0;
00022
00023 virtual ~XMLResolverRegistry() throw(());
00024
00025 virtual void
00026 register_resolver(
00027 IT_Bus::XMLResourceResolver & resolver
00028 ) throw((XMLResourceException)) = 0;
00029
00030 virtual void
00031 deregister_resolver(
00032 IT_Bus::XMLResourceResolver & resolver
00033 ) throw((XMLResourceException)) = 0;
00034
00035 virtual Boolean
00036 is_registered(
00037 IT_Bus::XMLResourceResolver & resolver
00038 ) = 0;
00039
00040 virtual void
00041 cache_resource(
00042 const IT_Bus::URL& url,
00043 const IT_Bus::BinaryBuffer& xml_data
00044 ) = 0;
00045 };
00046 }
00047
00048 #endif