summaryrefslogtreecommitdiff
path: root/indra/llmessage/llmessageconfig.h
blob: 9cc20fe98b5bbbf634c7c1b1f76e36efc9403f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/** 
 * @file llmessageconfig.h
 * @brief Live file handling for messaging
 *
 * Copyright (c) 2000-$CurrentYear$, Linden Research, Inc.
 * $License$
 */

#ifndef LL_MESSAGECONFIG_H
#define LL_MESSAGECONFIG_H

#include <string>
#include "llsd.h"

class LLSD;

class LLMessageConfig
{
public:
	enum Flavor { NO_FLAVOR=0, LLSD_FLAVOR=1, TEMPLATE_FLAVOR=2 };
	enum SenderTrust { NOT_SET=0, UNTRUSTED=1, TRUSTED=2 };
		
	static void initClass(const std::string& server_name,
						  const std::string& config_dir);
	static void useConfig(const LLSD& config);

	static Flavor getServerDefaultFlavor();

	// For individual messages
	static Flavor getMessageFlavor(const std::string& msg_name);
	static SenderTrust getSenderTrustedness(const std::string& msg_name);
	static bool isValidMessage(const std::string& msg_name);
	static bool isCapBanned(const std::string& cap_name);
	static LLSD getConfigForMessage(const std::string& msg_name);
};
#endif // LL_MESSAGECONFIG_H