Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Globalization / CalendarTable.cs / 1 / CalendarTable.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Globalization { using System.Runtime.Remoting; using System; using System.Runtime.CompilerServices; using System.Threading; using System.Runtime.Versioning; using System.Runtime.InteropServices; /*============================================================================== * * Calendar Data table for DateTimeFormatInfo classes. Used by System.Globalization.DateTimeFormatInfo. * ==============================================================================*/ internal class CalendarTable : BaseInfoTable { // The default instance of calendar table. We should only create one instance per app-domain. 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) { // Do nothing here. } //////////////////////////////////////////////////////////////////////// // // Set Data Item Pointers that are unique to calendar table // //////////////////////////////////////////////////////////////////////// internal override unsafe void SetDataItemPointers() { m_itemSize = m_pCultureHeader->sizeCalendarItem; m_numItem = m_pCultureHeader->numCalendarItems; m_pDataPool = (ushort*)(m_pDataFileStart + m_pCultureHeader->offsetToDataPool); // We subtract item size because calender indices start at 1 but our table doesn't have an entry for 0 m_pItemData = m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData - m_itemSize; // Get calendar list. We subtract 1 because calender indices start at 1 but our table doesn't have an entry for 0 m_calendars = (CalendarTableData*)(m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData) - 1; } internal static CalendarTable Default { get { BCLDebug.Assert(m_defaultInstance != null, "CalendarTable.Default: default instance is not created."); return (m_defaultInstance); } } internal unsafe int ICURRENTERA(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.ICURRENTERA]id out of calendar range"); return m_calendars[id].iCurrentEra; } internal unsafe int IFORMATFLAGS(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.IFORMATFLAGS]id out of calendar range"); return m_calendars[id].iFormatFlags; } internal unsafe String[] SDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saDayNames); } internal unsafe String[] SABBREVDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevDayNames); } internal unsafe String[] SSUPERSHORTDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSUPERSHORTDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saSuperShortDayNames); } internal unsafe String[] SMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saMonthNames); } internal unsafe String[] SABBREVMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevMonthNames); } internal unsafe String[] SLEAPYEARMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLEAPYEARMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saLeapYearMonthNames); } internal unsafe String[] SSHORTDATE(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSHORTDATE]id out of calendar range"); return GetStringArray(m_calendars[id].saShortDate); } internal unsafe String[] SLONGDATE(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLONGDATE]id out of calendar range"); return GetStringArray(m_calendars[id].saLongDate); } internal unsafe String[] SYEARMONTH(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SYEARMONTH]id out of calendar range"); return GetStringArray(m_calendars[id].saYearMonth); } internal unsafe String SMONTHDAY(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHDAY]id out of calendar range"); return GetStringPoolString(m_calendars[id].sMonthDay); } internal unsafe int[][] SERARANGES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERARANGES]id out of calendar range"); return GetWordArrayArray(m_calendars[id].waaEraRanges); } internal unsafe String[] SERANAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERANAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saEraNames); } internal unsafe String[] SABBREVERANAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVERANAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevEraNames); } internal unsafe 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)] internal static extern String nativeGetEraName(int culture, int calID); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Globalization { using System.Runtime.Remoting; using System; using System.Runtime.CompilerServices; using System.Threading; using System.Runtime.Versioning; using System.Runtime.InteropServices; /*============================================================================== * * Calendar Data table for DateTimeFormatInfo classes. Used by System.Globalization.DateTimeFormatInfo. * ==============================================================================*/ internal class CalendarTable : BaseInfoTable { // The default instance of calendar table. We should only create one instance per app-domain. 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) { // Do nothing here. } //////////////////////////////////////////////////////////////////////// // // Set Data Item Pointers that are unique to calendar table // //////////////////////////////////////////////////////////////////////// internal override unsafe void SetDataItemPointers() { m_itemSize = m_pCultureHeader->sizeCalendarItem; m_numItem = m_pCultureHeader->numCalendarItems; m_pDataPool = (ushort*)(m_pDataFileStart + m_pCultureHeader->offsetToDataPool); // We subtract item size because calender indices start at 1 but our table doesn't have an entry for 0 m_pItemData = m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData - m_itemSize; // Get calendar list. We subtract 1 because calender indices start at 1 but our table doesn't have an entry for 0 m_calendars = (CalendarTableData*)(m_pDataFileStart + m_pCultureHeader->offsetToCalendarItemData) - 1; } internal static CalendarTable Default { get { BCLDebug.Assert(m_defaultInstance != null, "CalendarTable.Default: default instance is not created."); return (m_defaultInstance); } } internal unsafe int ICURRENTERA(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.ICURRENTERA]id out of calendar range"); return m_calendars[id].iCurrentEra; } internal unsafe int IFORMATFLAGS(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.IFORMATFLAGS]id out of calendar range"); return m_calendars[id].iFormatFlags; } internal unsafe String[] SDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saDayNames); } internal unsafe String[] SABBREVDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevDayNames); } internal unsafe String[] SSUPERSHORTDAYNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSUPERSHORTDAYNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saSuperShortDayNames); } internal unsafe String[] SMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saMonthNames); } internal unsafe String[] SABBREVMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevMonthNames); } internal unsafe String[] SLEAPYEARMONTHNAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLEAPYEARMONTHNAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saLeapYearMonthNames); } internal unsafe String[] SSHORTDATE(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SSHORTDATE]id out of calendar range"); return GetStringArray(m_calendars[id].saShortDate); } internal unsafe String[] SLONGDATE(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SLONGDATE]id out of calendar range"); return GetStringArray(m_calendars[id].saLongDate); } internal unsafe String[] SYEARMONTH(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SYEARMONTH]id out of calendar range"); return GetStringArray(m_calendars[id].saYearMonth); } internal unsafe String SMONTHDAY(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SMONTHDAY]id out of calendar range"); return GetStringPoolString(m_calendars[id].sMonthDay); } internal unsafe int[][] SERARANGES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERARANGES]id out of calendar range"); return GetWordArrayArray(m_calendars[id].waaEraRanges); } internal unsafe String[] SERANAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SERANAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saEraNames); } internal unsafe String[] SABBREVERANAMES(int id) { BCLDebug.Assert(id > 0 && id <= m_numItem, "[CalendarTable.SABBREVERANAMES]id out of calendar range"); return GetStringArray(m_calendars[id].saAbbrevEraNames); } internal unsafe 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)] internal static extern String nativeGetEraName(int culture, int calID); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EncodingNLS.cs
- FullTrustAssemblyCollection.cs
- SerializationAttributes.cs
- StructuredTypeEmitter.cs
- EntitySetBaseCollection.cs
- StaticFileHandler.cs
- MediaCommands.cs
- XamlStream.cs
- DeploymentSection.cs
- ObjectSet.cs
- XmlWriterDelegator.cs
- CodeExpressionStatement.cs
- UpdateProgress.cs
- columnmapfactory.cs
- SevenBitStream.cs
- ValidatorCollection.cs
- HtmlInputImage.cs
- Emitter.cs
- GridViewHeaderRowPresenter.cs
- SiteMapDataSourceView.cs
- ExpressionPrefixAttribute.cs
- SqlUtil.cs
- BinaryExpressionHelper.cs
- DefaultValueAttribute.cs
- RegexFCD.cs
- IUnknownConstantAttribute.cs
- InputGestureCollection.cs
- Transactions.cs
- EventMetadata.cs
- CodeDirectoryCompiler.cs
- SmtpAuthenticationManager.cs
- ProgressChangedEventArgs.cs
- DoubleAnimationBase.cs
- EditCommandColumn.cs
- CheckedPointers.cs
- EdmRelationshipRoleAttribute.cs
- HostingEnvironmentSection.cs
- LoginCancelEventArgs.cs
- PlatformCulture.cs
- DetailsViewInsertedEventArgs.cs
- ContainerCodeDomSerializer.cs
- DragEventArgs.cs
- ActiveXHost.cs
- safex509handles.cs
- ColumnWidthChangedEvent.cs
- StrokeNodeEnumerator.cs
- Publisher.cs
- TextBoxAutoCompleteSourceConverter.cs
- StringCollection.cs
- RequestQueryParser.cs
- NativeCppClassAttribute.cs
- XmlLoader.cs
- ColumnCollection.cs
- AnnotationAdorner.cs
- FontFamily.cs
- SoundPlayerAction.cs
- DTCTransactionManager.cs
- RowVisual.cs
- TextBoxRenderer.cs
- Panel.cs
- MailAddressCollection.cs
- GeometryHitTestParameters.cs
- TypeElement.cs
- SystemIcmpV4Statistics.cs
- ProtocolInformationReader.cs
- StorageRoot.cs
- XmlObjectSerializerWriteContextComplex.cs
- ReflectPropertyDescriptor.cs
- _Connection.cs
- DoubleAverageAggregationOperator.cs
- RoamingStoreFileUtility.cs
- StringConverter.cs
- InternalControlCollection.cs
- FunctionDetailsReader.cs
- DependencyPropertyConverter.cs
- _UriTypeConverter.cs
- _NegotiateClient.cs
- MimeTypePropertyAttribute.cs
- XPathSelfQuery.cs
- BindingList.cs
- LinearGradientBrush.cs
- BCLDebug.cs
- Expressions.cs
- ConstraintStruct.cs
- SingleKeyFrameCollection.cs
- filewebrequest.cs
- CommandEventArgs.cs
- OutOfProcStateClientManager.cs
- TypeBuilderInstantiation.cs
- TextEditorMouse.cs
- AtomServiceDocumentSerializer.cs
- TransformedBitmap.cs
- dataprotectionpermissionattribute.cs
- TraceListeners.cs
- MergeFilterQuery.cs
- DataGrid.cs
- URLBuilder.cs
- TdsParserStateObject.cs
- LineSegment.cs
- DesignerSerializerAttribute.cs