Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  calendar.rs   Sprache: unbekannt

 
// Copyright 2023 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

use std::os::raw::{c_char, c_void};

use crate::base::{Boolean, CFAllocatorRef, CFIndex, CFOptionFlags, CFRange, CFTypeID};
use crate::date::{CFAbsoluteTime, CFTimeInterval};
use crate::locale::{CFCalendarIdentifier, CFLocaleRef};
use crate::timezone::CFTimeZoneRef;

#[repr(C)]
pub struct __CFCalendar(c_void);
pub type CFCalendarRef = *mut __CFCalendar;

pub type CFCalendarUnit = CFOptionFlags;
pub const kCFCalendarUnitEra: CFCalendarUnit = 1 << 1;
pub const kCFCalendarUnitYear: CFCalendarUnit = 1 << 2;
pub const kCFCalendarUnitMonth: CFCalendarUnit = 1 << 3;
pub const kCFCalendarUnitDay: CFCalendarUnit = 1 << 4;
pub const kCFCalendarUnitHour: CFCalendarUnit = 1 << 5;
pub const kCFCalendarUnitMinute: CFCalendarUnit = 1 << 6;
pub const kCFCalendarUnitSecond: CFCalendarUnit = 1 << 7;
pub const kCFCalendarUnitWeek: CFCalendarUnit = 1 << 8; // deprecated since macos 10.10
pub const kCFCalendarUnitWeekday: CFCalendarUnit = 1 << 9;
pub const kCFCalendarUnitWeekdayOrdinal: CFCalendarUnit = 1 << 10;
pub const kCFCalendarUnitQuarter: CFCalendarUnit = 1 << 11;
pub const kCFCalendarUnitWeekOfMonth: CFCalendarUnit = 1 << 12;
pub const kCFCalendarUnitWeekOfYear: CFCalendarUnit = 1 << 13;
pub const kCFCalendarUnitYearForWeekOfYear: CFCalendarUnit = 1 << 14;

pub const kCFCalendarComponentsWrap: CFOptionFlags = 1 << 0;

extern "C" {
    /*
     * CFCalendar.h
     */

    /* Creating a Calendar */
    pub fn CFCalendarCopyCurrent() -> CFCalendarRef;
    pub fn CFCalendarCreateWithIdentifier(
        allocator: CFAllocatorRef,
        identifier: CFCalendarIdentifier,
    ) -> CFCalendarRef;

    /* Calendrical Calculations */
    pub fn CFCalendarAddComponents(
        identifier: CFCalendarIdentifier,
        /* inout */ at: *mut CFAbsoluteTime,
        options: CFOptionFlags,
        componentDesc: *const char,
        ...
    ) -> Boolean;
    pub fn CFCalendarComposeAbsoluteTime(
        identifier: CFCalendarIdentifier,
        /* out */ at: *mut CFAbsoluteTime,
        componentDesc: *const c_char,
        ...
    ) -> Boolean;
    pub fn CFCalendarDecomposeAbsoluteTime(
        identifier: CFCalendarIdentifier,
        at: CFAbsoluteTime,
        componentDesc: *const c_char,
        ...
    ) -> Boolean;
    pub fn CFCalendarGetComponentDifference(
        identifier: CFCalendarIdentifier,
        startingAT: CFAbsoluteTime,
        resultAT: CFAbsoluteTime,
        options: CFOptionFlags,
        componentDesc: *const c_char,
        ...
    ) -> Boolean;

    /* Getting Ranges of Units */
    pub fn CFCalendarGetRangeOfUnit(
        identifier: CFCalendarIdentifier,
        smallerUnit: CFCalendarUnit,
        biggerUnit: CFCalendarUnit,
        at: CFAbsoluteTime,
    ) -> CFRange;
    pub fn CFCalendarGetOrdinalityOfUnit(
        identifier: CFCalendarIdentifier,
        smallerUnit: CFCalendarUnit,
        biggerUnit: CFCalendarUnit,
        at: CFAbsoluteTime,
    ) -> CFIndex;
    pub fn CFCalendarGetTimeRangeOfUnit(
        identifier: CFCalendarIdentifier,
        unit: CFCalendarUnit,
        at: CFAbsoluteTime,
        startp: *mut CFAbsoluteTime,
        tip: *mut CFTimeInterval,
    ) -> Boolean;
    pub fn CFCalendarGetMaximumRangeOfUnit(
        identifier: CFCalendarIdentifier,
        unit: CFCalendarUnit,
    ) -> CFRange;
    pub fn CFCalendarGetMinimumRangeOfUnit(
        identifier: CFCalendarIdentifier,
        unit: CFCalendarUnit,
    ) -> CFRange;

    /* Getting and Setting the Time Zone */
    pub fn CFCalendarCopyTimeZone(identifier: CFCalendarIdentifier) -> CFTimeZoneRef;
    pub fn CFCalendarSetTimeZone(identifier: CFCalendarIdentifier, tz: CFTimeZoneRef);

    /* Getting the Identifier */
    pub fn CFCalendarGetIdentifier(identifier: CFCalendarIdentifier) -> CFCalendarIdentifier;

    /* Getting and Setting the Locale */
    pub fn CFCalendarCopyLocale(identifier: CFCalendarIdentifier) -> CFLocaleRef;
    pub fn CFCalendarSetLocale(identifier: CFCalendarIdentifier, locale: CFLocaleRef);

    /* Getting and Setting Day Information */
    pub fn CFCalendarGetFirstWeekday(identifier: CFCalendarIdentifier) -> CFIndex;
    pub fn CFCalendarSetFirstWeekday(identifier: CFCalendarIdentifier, wkdy: CFIndex);
    pub fn CFCalendarGetMinimumDaysInFirstWeek(identifier: CFCalendarIdentifier) -> CFIndex;
    pub fn CFCalendarSetMinimumDaysInFirstWeek(identifier: CFCalendarIdentifier, mwd: CFIndex);

    /* Getting the Type ID */
    pub fn CFCalendarGetTypeID() -> CFTypeID;
}

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge