reactos/include/dxsdk/tvratings.idl
Cameron Gutman c2d0d784c7 [USB-BRINGUP-TRUNK]
- Create a branch to do a proper merge of USB work from a trunk base instead of from cmake-bringup
- In the future, DO NOT under any circumstances branch another branch. This leads to merge problems!

svn path=/branches/usb-bringup-trunk/; revision=55018
2012-01-20 20:58:46 +00:00

181 lines
4 KiB
Text

import "oaidl.idl";
import "ocidl.idl";
typedef enum
{
MPAA = 0,
US_TV = 1,
Canadian_English = 2,
Canadian_French = 3,
Reserved4 = 4,
System5 = 5,
System6 = 6,
Reserved7 = 7,
TvRat_kSystems = 8,
TvRat_SystemDontKnow = 255
} EnTvRat_System;
typedef enum
{
TvRat_0 = 0,
TvRat_1 = 1,
TvRat_2 = 2,
TvRat_3 = 3,
TvRat_4 = 4,
TvRat_5 = 5,
TvRat_6 = 6,
TvRat_7 = 7,
TvRat_kLevels = 8,
TvRat_LevelDontKnow = 255
} EnTvRat_GenericLevel;
typedef enum
{
MPAA_NotApplicable = TvRat_0,
MPAA_G = TvRat_1,
MPAA_PG = TvRat_2,
MPAA_PG13 = TvRat_3,
MPAA_R = TvRat_4,
MPAA_NC17 = TvRat_5,
MPAA_X = TvRat_6,
MPAA_NotRated = TvRat_7
} EnTvRat_MPAA;
typedef enum
{
US_TV_None = TvRat_0,
US_TV_Y = TvRat_1,
US_TV_Y7 = TvRat_2,
US_TV_G = TvRat_3,
US_TV_PG = TvRat_4,
US_TV_14 = TvRat_5,
US_TV_MA = TvRat_6,
US_TV_None7 = TvRat_7
} EnTvRat_US_TV;
typedef enum
{
CAE_TV_Exempt = TvRat_0,
CAE_TV_C = TvRat_1,
CAE_TV_C8 = TvRat_2,
CAE_TV_G = TvRat_3,
CAE_TV_PG = TvRat_4,
CAE_TV_14 = TvRat_5,
CAE_TV_18 = TvRat_6,
CAE_TV_Reserved = TvRat_7
} EnTvRat_CAE_TV;
typedef enum
{
CAF_TV_Exempt = TvRat_0,
CAF_TV_G = TvRat_1,
CAF_TV_8 = TvRat_2,
CAF_TV_13 = TvRat_3,
CAF_TV_16 = TvRat_4,
CAF_TV_18 = TvRat_5,
CAF_TV_Reserved6 = TvRat_6,
CAF_TV_Reserved = TvRat_7
} EnTvRat_CAF_TV;
typedef enum
{
BfAttrNone = 0,
BfIsBlocked = 1,
BfIsAttr_1 = 2,
BfIsAttr_2 = 4,
BfIsAttr_3 = 8,
BfIsAttr_4 = 16,
BfIsAttr_5 = 32,
BfIsAttr_6 = 64,
BfIsAttr_7 = 128,
BfValidAttrSubmask = 255
} BfEnTvRat_GenericAttributes;
typedef enum
{
US_TV_IsBlocked = BfIsBlocked,
US_TV_IsViolent = BfIsAttr_1,
US_TV_IsSexualSituation = BfIsAttr_2,
US_TV_IsAdultLanguage = BfIsAttr_3,
US_TV_IsSexuallySuggestiveDialog = BfIsAttr_4,
US_TV_ValidAttrSubmask = 31
} BfEnTvRat_Attributes_US_TV;
typedef enum
{
MPAA_IsBlocked = BfIsBlocked,
MPAA_ValidAttrSubmask = 1
} BfEnTvRat_Attributes_MPAA;
typedef enum
{
CAE_IsBlocked = BfIsBlocked,
CAE_ValidAttrSubmask = 1
} BfEnTvRat_Attributes_CAE_TV;
typedef enum
{
CAF_IsBlocked = BfIsBlocked,
CAF_ValidAttrSubmask = 1
} BfEnTvRat_Attributes_CAF_TV;
[
object,
uuid(C5C5C5B0-3ABC-11D6-B25B-00C04FA0C026),
dual,
pointer_default(unique)
]
interface IXDSToRat : IDispatch
{
[id(1)]
HRESULT Init();
[id(2)]
HRESULT ParseXDSBytePair([in] BYTE byte1, [in] BYTE byte2, [out] EnTvRat_System *pEnSystem, [out] EnTvRat_GenericLevel *pEnLevel, [out] LONG *plBfEnAttributes);
};
[
object,
uuid(C5C5C5B1-3ABC-11D6-B25B-00C04FA0C026),
dual,
pointer_default(unique)
]
interface IEvalRat : IDispatch
{
[propget, id(1)]
HRESULT BlockedRatingAttributes([in] EnTvRat_System enSystem, [in] EnTvRat_GenericLevel enLevel, [out, retval] LONG *plbfAttrs);
[propput, id(1)]
HRESULT BlockedRatingAttributes([in] EnTvRat_System enSystem, [in] EnTvRat_GenericLevel enLevel, [in] LONG lbfAttrs);
[propget, id(2)]
HRESULT BlockUnRated([out, retval] BOOL *pfBlockUnRatedShows);
[propput, id(2)]
HRESULT BlockUnRated([in] BOOL fBlockUnRatedShows);
[id(3)]
HRESULT MostRestrictiveRating([in] EnTvRat_System enSystem1, [in] EnTvRat_GenericLevel enEnLevel1, [in] LONG lbfEnAttr1, [in] EnTvRat_System enSystem2, [in] EnTvRat_GenericLevel enEnLevel2, [in] LONG lbfEnAttr2, [out] EnTvRat_System *penSystem, [out] EnTvRat_GenericLevel *penEnLevel, [out] LONG *plbfEnAttr);
[id(4)]
HRESULT TestRating([in] EnTvRat_System enShowSystem, [in] EnTvRat_GenericLevel enShowLevel, [in] LONG lbfEnShowAttributes);
};
[uuid(C5C5C500-3ABC-11D6-B25B-00C04FA0C026)]
library TVRATINGSLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[uuid(C5C5C5F0-3ABC-11D6-B25B-00C04FA0C026)]
coclass XDSToRat
{
[default] interface IXDSToRat;
};
[uuid(C5C5C5F1-3ABC-11D6-B25B-00C04FA0C026)]
coclass EvalRat
{
[default] interface IEvalRat;
};
};