|
|
1.1 ! root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ! 2: * ! 3: * The contents of this file are subject to the Netscape Public ! 4: * License Version 1.1 (the "License"); you may not use this file ! 5: * except in compliance with the License. You may obtain a copy of ! 6: * the License at http://www.mozilla.org/NPL/ ! 7: * ! 8: * Software distributed under the License is distributed on an "AS ! 9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or ! 10: * implied. See the License for the specific language governing ! 11: * rights and limitations under the License. ! 12: * ! 13: * The Original Code is Mozilla Communicator client code, released ! 14: * March 31, 1998. ! 15: * ! 16: * The Initial Developer of the Original Code is Netscape ! 17: * Communications Corporation. Portions created by Netscape are ! 18: * Copyright (C) 1998 Netscape Communications Corporation. All ! 19: * Rights Reserved. ! 20: * ! 21: * Contributor(s): ! 22: * ! 23: * Alternatively, the contents of this file may be used under the ! 24: * terms of the GNU Public License (the "GPL"), in which case the ! 25: * provisions of the GPL are applicable instead of those above. ! 26: * If you wish to allow use of your version of this file only ! 27: * under the terms of the GPL and not to allow others to use your ! 28: * version of this file under the NPL, indicate your decision by ! 29: * deleting the provisions above and replace them with the notice ! 30: * and other provisions required by the GPL. If you do not delete ! 31: * the provisions above, a recipient may use your version of this ! 32: * file under either the NPL or the GPL. ! 33: */ ! 34: ! 35: /* ! 36: * JS Date class interface. ! 37: */ ! 38: ! 39: #ifndef jsdate_h___ ! 40: #define jsdate_h___ ! 41: ! 42: JS_BEGIN_EXTERN_C ! 43: ! 44: extern JSObject * ! 45: js_InitDateClass(JSContext *cx, JSObject *obj); ! 46: ! 47: /* ! 48: * These functions provide a C interface to the date/time object ! 49: */ ! 50: ! 51: /* ! 52: * Construct a new Date Object from a time value given in milliseconds UTC ! 53: * since the epoch. ! 54: */ ! 55: extern JS_FRIEND_API(JSObject*) ! 56: js_NewDateObjectMsec(JSContext* cx, jsdouble msec_time); ! 57: ! 58: /* ! 59: * Construct a new Date Object from an exploded local time value. ! 60: */ ! 61: extern JS_FRIEND_API(JSObject*) ! 62: js_NewDateObject(JSContext* cx, int year, int mon, int mday, ! 63: int hour, int min, int sec); ! 64: ! 65: /* ! 66: * Detect whether the internal date value is NaN. (Because failure is ! 67: * out-of-band for js_DateGet*) ! 68: */ ! 69: extern JS_FRIEND_API(JSBool) ! 70: js_DateIsValid(JSContext *cx, JSObject* obj); ! 71: ! 72: extern JS_FRIEND_API(int) ! 73: js_DateGetYear(JSContext *cx, JSObject* obj); ! 74: ! 75: extern JS_FRIEND_API(int) ! 76: js_DateGetMonth(JSContext *cx, JSObject* obj); ! 77: ! 78: extern JS_FRIEND_API(int) ! 79: js_DateGetDate(JSContext *cx, JSObject* obj); ! 80: ! 81: extern JS_FRIEND_API(int) ! 82: js_DateGetHours(JSContext *cx, JSObject* obj); ! 83: ! 84: extern JS_FRIEND_API(int) ! 85: js_DateGetMinutes(JSContext *cx, JSObject* obj); ! 86: ! 87: extern JS_FRIEND_API(int) ! 88: js_DateGetSeconds(JSContext *cx, JSObject* obj); ! 89: ! 90: extern JS_FRIEND_API(void) ! 91: js_DateSetYear(JSContext *cx, JSObject *obj, int year); ! 92: ! 93: extern JS_FRIEND_API(void) ! 94: js_DateSetMonth(JSContext *cx, JSObject *obj, int year); ! 95: ! 96: extern JS_FRIEND_API(void) ! 97: js_DateSetDate(JSContext *cx, JSObject *obj, int date); ! 98: ! 99: extern JS_FRIEND_API(void) ! 100: js_DateSetHours(JSContext *cx, JSObject *obj, int hours); ! 101: ! 102: extern JS_FRIEND_API(void) ! 103: js_DateSetMinutes(JSContext *cx, JSObject *obj, int minutes); ! 104: ! 105: extern JS_FRIEND_API(void) ! 106: js_DateSetSeconds(JSContext *cx, JSObject *obj, int seconds); ! 107: ! 108: extern JS_FRIEND_API(jsdouble) ! 109: js_DateGetMsecSinceEpoch(JSContext *cx, JSObject *obj); ! 110: ! 111: JS_END_EXTERN_C ! 112: ! 113: #endif /* jsdate_h___ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.