#ifndef __MESSAGEPROCESSOR_H__
#define __MESSAGEPROCESSOR_H__

#ifdef __cplusplus
#ifndef BEGIN_DECLS
#define BEGIN_DECLS extern "C" {
#endif
#ifndef END_DECLS
#define END_DECLS }
#endif
#else
#ifndef BEGIN_DECLS
#define BEGIN_DECLS
#endif
#ifndef END_DECLS
#define END_DECLS
#endif
#endif

BEGIN_DECLS

#include <limits.h>

#ifdef _WIN32
#include <wchar.h>
#endif

#include "Common.h"
#include "StringUtil.h"
#include "Log.h"
#include "MessageQueue.h"
#include "SystemUtil.h"
#include "SecureCodingUtil.h"

#define MP_ERR_SUCCESS              0
#define MP_ERR_CONFIG               -1


extern char g_szProcessname[MAX_STRING_SIZE + 1];
extern char g_szProcessPath[PATH_MAX + 1];
extern int sKind;

int InitMessageProcessConfig();
void *WorkThread(void *pData);
int GetSerialNo();

END_DECLS

#endif
