// RarCodecsRegister.cpp

#include "StdAfx.h"

#include "../Common/RegisterCodec.h"

#include "Rar1Decoder.h"
#include "Rar2Decoder.h"
#include "Rar3Decoder.h"

#define CREATE_CODEC(x) static void *CreateCodec ## x() { return (void *)(ICompressCoder *)(new NCompress::NRar ## x::CDecoder); }

CREATE_CODEC(1)
CREATE_CODEC(2)
CREATE_CODEC(3)

#define RAR_CODEC(x, name) { CreateCodec ## x, 0, 0x040300 + x, L"Rar" name, 1, false }

static CCodecInfo g_CodecsInfo[] =
{
  RAR_CODEC(1, L"1"),
  RAR_CODEC(2, L"2"),
  RAR_CODEC(3, L"3"),
};

REGISTER_CODECS(Rar)
