00001
00032 #ifndef LL_LLCACHENAME_H
00033 #define LL_LLCACHENAME_H
00034
00035 class LLMessageSystem;
00036 class LLHost;
00037 class LLUUID;
00038
00039
00040 typedef void (*LLCacheNameCallback)(const LLUUID&, const char*, const char*, BOOL, void*);
00041
00042
00043
00044
00045
00046
00047
00048
00049 class LLCacheName
00050 {
00051 public:
00052 LLCacheName(LLMessageSystem* msg);
00053 LLCacheName(LLMessageSystem* msg, const LLHost& upstream_host);
00054 ~LLCacheName();
00055
00056
00057
00058
00059 void setUpstream(const LLHost& upstream_host);
00060
00061 void addObserver(LLCacheNameCallback callback);
00062 void removeObserver(LLCacheNameCallback callback);
00063
00064 void cancelCallback(const LLUUID& id, LLCacheNameCallback callback, void* user_data = NULL);
00065
00066
00067 void importFile(FILE* fp);
00068 void exportFile(FILE* fp);
00069
00070
00071
00072
00073
00074
00075 BOOL getName(const LLUUID& id, char* first, char* last);
00076
00077
00078
00079
00080
00081 BOOL getGroupName(const LLUUID& id, char* group);
00082
00083
00084
00085
00086
00087 void get(const LLUUID& id, BOOL is_group, LLCacheNameCallback callback, void* user_data = NULL);
00088
00089
00090 void getName(const LLUUID& id, LLCacheNameCallback callback, void* user_data = NULL)
00091 { get(id, FALSE, callback, user_data); }
00092
00093
00094
00095 void processPending();
00096
00097
00098 void deleteEntriesOlderThan(S32 secs);
00099
00100
00101 void dump();
00102 void dumpStats();
00103
00104 static LLString getDefaultName();
00105
00106 private:
00107 class Impl;
00108 Impl& impl;
00109 };
00110
00111
00112
00113 extern LLCacheName* gCacheName;
00114
00115 #endif