001 package org.bridj.cpp.com;
002 import java.util.Collections;
003 import java.util.Iterator;
004 import org.bridj.BridJ;
005 import org.bridj.FlagSet;
006 import org.bridj.IntValuedEnum;
007 import org.bridj.ValuedEnum;
008
009 public enum VARENUM implements IntValuedEnum<VARENUM > {
010 VT_EMPTY(0),
011 VT_NULL(1),
012 VT_I2(2),
013 VT_I4(3),
014 VT_R4(4),
015 VT_R8(5),
016 VT_CY(6),
017 VT_DATE(7),
018 VT_BSTR(8),
019 VT_DISPATCH(9),
020 VT_ERROR(10),
021 VT_BOOL(11),
022 VT_VARIANT(12),
023 VT_UNKNOWN(13),
024 VT_DECIMAL(14),
025 VT_I1(16),
026 VT_UI1(17),
027 VT_UI2(18),
028 VT_UI4(19),
029 VT_I8(20),
030 VT_UI8(21),
031 VT_INT(22),
032 VT_UINT(23),
033 VT_VOID(24),
034 VT_HRESULT(25),
035 VT_PTR(26),
036 VT_SAFEARRAY(27),
037 VT_CARRAY(28),
038 VT_USERDEFINED(29),
039 VT_LPSTR(30),
040 VT_LPWSTR(31),
041 VT_FILETIME(64),
042 VT_BLOB(65),
043 VT_STREAM(66),
044 VT_STORAGE(67),
045 VT_STREAMED_OBJECT(68),
046 VT_STORED_OBJECT(69),
047 VT_BLOB_OBJECT(70),
048 VT_CF(71),
049 VT_CLSID(72),
050 VT_VECTOR(0x1000),
051 VT_ARRAY(0x2000),
052 VT_BYREF(0x4000),
053 VT_RESERVED(0x8000),
054 VT_ILLEGAL(0xFFFF),
055 VT_ILLEGALMASKED(0xFFF),
056 VT_TYPEMASK(0xFFF);
057 VARENUM(long value) {
058 this.value = value;
059 }
060 public final long value;
061 public long value() {
062 return this.value;
063 }
064 public Iterator<VARENUM > iterator() {
065 return Collections.singleton(this).iterator();
066 }
067 public static ValuedEnum<VARENUM > fromValue(long value) {
068 return FlagSet.fromValue(value, values());
069 }
070 };