We need you! We're working hard on the next version of Developer Fusion -
Let us know what you think we should be up to!
- namespace System.Globalization
- {
- using System.Runtime.Remoting;
- using System;
- using System.Runtime.CompilerServices;
- using System.Threading;
- using System.Runtime.Versioning;
- using System.Runtime.InteropServices;
-
-
-
- internal class CalendarTable : BaseInfoTable
- {
-
-
- private static CalendarTable m_defaultInstance;
- unsafe CalendarTableData* m_calendars;
-
- [ResourceExposure(ResourceScope.Machine)]
- [ResourceConsumption(ResourceScope.Machine)]
- static CalendarTable()
- {
- m_defaultInstance = new CalendarTable("culture.nlp", true);
- }
-
- [ResourceExposure(ResourceScope.Machine)]
- [ResourceConsumption(ResourceScope.Machine)]
- internal CalendarTable(string fileName, bool fromAssembly) : base(fileName, fromAssembly)
- {
-
- }
-
- ////////////////////////////////////////////////////////////////////////
-
-
-
- ////////////////////////////////////////////////////////////////////////
- unsafe internal override void SetDataItemPointers()
- {
- m_itemSize = m_pCultureHeader->sizeCalendarItem;
- m_numItem = m_pCultureHeader->numCalendarItems;
- m_pDataPool = (ushort*)(m_pDataFileStart + m_pCultureHeader->offsetToDataPool);
-
- m_pItemData = m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData - m_itemSize;
-
- m_calendars = (CalendarTableData*)(m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData) - 1;
- }
-
- static internal CalendarTable Default {
- get {
- BCLDebug.Assert(m_defaultInstance != null, "CalendarTable.Default: default instance is not created.");
- return (m_defaultInstance);
- }
- }
-
- unsafe internal int ICURRENTERA(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.ICURRENTERA]id out of calendar range");
-
- return m_calendars[id].iCurrentEra;
- }
-
- unsafe internal int IFORMATFLAGS(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.IFORMATFLAGS]id out of calendar range");
-
- return m_calendars[id].iFormatFlags;
- }
-
- unsafe internal string[] SDAYNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SDAYNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saDayNames);
- }
-
- unsafe internal string[] SABBREVDAYNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVDAYNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saAbbrevDayNames);
- }
-
- unsafe internal string[] SSUPERSHORTDAYNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSUPERSHORTDAYNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saSuperShortDayNames);
- }
-
- unsafe internal string[] SMONTHNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saMonthNames);
- }
-
- unsafe internal string[] SABBREVMONTHNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVMONTHNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saAbbrevMonthNames);
- }
-
- unsafe internal string[] SLEAPYEARMONTHNAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLEAPYEARMONTHNAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saLeapYearMonthNames);
- }
-
- unsafe internal string[] SSHORTDATE(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSHORTDATE]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saShortDate);
- }
-
- unsafe internal string[] SLONGDATE(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLONGDATE]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saLongDate);
- }
-
- unsafe internal string[] SYEARMONTH(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SYEARMONTH]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saYearMonth);
- }
-
- unsafe internal string SMONTHDAY(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHDAY]id out of calendar range");
-
- return GetStringPoolString(m_calendars[id].sMonthDay);
- }
-
- unsafe internal int[][] SERARANGES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERARANGES]id out of calendar range");
-
- return GetWordArrayArray(m_calendars[id].waaEraRanges);
- }
-
- unsafe internal string[] SERANAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERANAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saEraNames);
- }
-
- unsafe internal string[] SABBREVERANAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVERANAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saAbbrevEraNames);
- }
-
- unsafe internal string[] SABBREVENGERANAMES(int id)
- {
- BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVENGERANAMES]id out of calendar range");
-
- return GetStringArray(m_calendars[id].saAbbrevEnglishEraNames);
- }
-
- [MethodImplAttribute(MethodImplOptions.InternalCall)]
- static internal extern string nativeGetEraName(int culture, int calID);
- }
- }