00001 00032 #ifndef LL_MESSAGECONFIG_H 00033 #define LL_MESSAGECONFIG_H 00034 00035 #include <string> 00036 #include "llsd.h" 00037 00038 class LLSD; 00039 00040 class LLMessageConfig 00041 { 00042 public: 00043 enum Flavor { NO_FLAVOR=0, LLSD_FLAVOR=1, TEMPLATE_FLAVOR=2 }; 00044 enum SenderTrust { NOT_SET=0, UNTRUSTED=1, TRUSTED=2 }; 00045 00046 static void initClass(const std::string& server_name, 00047 const std::string& config_dir); 00048 static void useConfig(const LLSD& config); 00049 00050 static Flavor getServerDefaultFlavor(); 00051 00052 // For individual messages 00053 static Flavor getMessageFlavor(const std::string& msg_name); 00054 static SenderTrust getSenderTrustedness(const std::string& msg_name); 00055 static bool isValidMessage(const std::string& msg_name); 00056 static bool isCapBanned(const std::string& cap_name); 00057 static LLSD getConfigForMessage(const std::string& msg_name); 00058 }; 00059 #endif // LL_MESSAGECONFIG_H