00001 //---------------------------------------------------------------------------- 00004 // 00005 // (C) 2006 Celartem Technology Inc. All rights reserved. 00006 //---------------------------------------------------------------------------- 00007 00008 #ifndef _cel_broker_h_ 00009 #define _cel_broker_h_ 00010 00011 #include "cel_types.h" 00012 #include "cel_referable.h" 00013 #include "cel_string.h" 00014 00015 namespace Celartem 00016 { 00017 class HttpManager; 00018 class Storage; 00019 class CredentialProvider; 00020 00021 //-------------------------------------------------------------------- 00026 class ResourceBroker : public Referable 00027 { 00028 public: 00039 virtual AutoPtr<Storage> locateFile(const String& inUriOrFileName) = 0; 00040 00049 static AutoPtr<ResourceBroker> create(); 00050 00066 static AutoPtr<ResourceBroker> create( 00067 const String& inUserAgentName, 00068 CredentialProvider *inCredentialProvider = NULL); 00069 00076 static AutoPtr<ResourceBroker> create(HttpManager* inHttpManager); 00077 }; 00078 } 00079 00080 #endif // _cel_broker_h_