void moduleInit() override { HHVM_ME(MCRouter, __construct); HHVM_NAMED_ME(MCRouter, get, mcr_str<mc_op_get>); HHVM_NAMED_ME(MCRouter, gets, mcr_str<mc_op_gets>); HHVM_NAMED_ME(MCRouter, add, mcr_set<mc_op_add>); HHVM_NAMED_ME(MCRouter, set, mcr_set<mc_op_set>); HHVM_NAMED_ME(MCRouter, replace, mcr_set<mc_op_replace>); HHVM_NAMED_ME(MCRouter, prepend, mcr_aprepend<mc_op_prepend>); HHVM_NAMED_ME(MCRouter, append, mcr_aprepend<mc_op_append>); HHVM_NAMED_ME(MCRouter, incr, mcr_str_delta<mc_op_incr>); HHVM_NAMED_ME(MCRouter, decr, mcr_str_delta<mc_op_decr>); HHVM_NAMED_ME(MCRouter, del, mcr_str<mc_op_delete>); HHVM_NAMED_ME(MCRouter, flushAll, mcr_int<mc_op_flushall>); HHVM_NAMED_ME(MCRouter, version, mcr_void<mc_op_version>); HHVM_ME(MCRouter, cas); Native::registerNativeDataInfo<MCRouter>(s_MCRouter.get()); HHVM_STATIC_ME(MCRouter, getOpName); HHVM_STATIC_ME(MCRouter, getResultName); std::string opname("mc_op_"); for (int i = 0; i < mc_nops; ++i) { std::string name; name = opname + mc_op_to_string((mc_op_t)i); // mcrouter defines op names as foo-bar, // but PHP wants constants like foo_bar for (int j = opname.size(); j < name.size(); ++j) { if (name[j] == '-') { name[j] = '_'; } } Native::registerClassConstant<KindOfInt64>( s_MCRouter.get(), makeStaticString(name), i); } for (int i = 0; i < mc_nres; ++i) { Native::registerClassConstant<KindOfInt64>( s_MCRouter.get(), makeStaticString(mc_res_to_string((mc_res_t)i)), i); } loadSystemlib(); }
void IntlExtension::initDateFormatter() { UDAT_CONST(FULL); UDAT_CONST(LONG); UDAT_CONST(MEDIUM); UDAT_CONST(SHORT); UDAT_CONST(NONE); UCAL_CONST(GREGORIAN); UCAL_CONST(TRADITIONAL); HHVM_ME(IntlDateFormatter, __construct_array); HHVM_ME(IntlDateFormatter, __clone); HHVM_ME(IntlDateFormatter, format); HHVM_STATIC_ME(IntlDateFormatter, formatObject); HHVM_ME(IntlDateFormatter, getCalendar); HHVM_ME(IntlDateFormatter, getDateType); HHVM_ME(IntlDateFormatter, getErrorCode); HHVM_ME(IntlDateFormatter, getErrorMessage); HHVM_ME(IntlDateFormatter, getLocale); HHVM_ME(IntlDateFormatter, getPattern); HHVM_ME(IntlDateFormatter, getTimeType); HHVM_ME(IntlDateFormatter, getTimeZoneId); HHVM_ME(IntlDateFormatter, getCalendarObject); HHVM_ME(IntlDateFormatter, getTimeZone); HHVM_ME(IntlDateFormatter, isLenient); HHVM_ME(IntlDateFormatter, localtime); HHVM_ME(IntlDateFormatter, parse); HHVM_ME(IntlDateFormatter, setCalendar); HHVM_ME(IntlDateFormatter, setLenient); HHVM_ME(IntlDateFormatter, setPattern); HHVM_ME(IntlDateFormatter, setTimeZone); loadSystemlib("icu_date_fmt"); }
void IntlExtension::initDateFormatter() { HHVM_RCC_INT(IntlDateFormatter, FULL, UDAT_FULL); HHVM_RCC_INT(IntlDateFormatter, LONG, UDAT_LONG); HHVM_RCC_INT(IntlDateFormatter, MEDIUM, UDAT_MEDIUM); HHVM_RCC_INT(IntlDateFormatter, SHORT, UDAT_SHORT); HHVM_RCC_INT(IntlDateFormatter, NONE, UDAT_NONE); HHVM_RCC_INT(IntlDateFormatter, GREGORIAN, UCAL_GREGORIAN); HHVM_RCC_INT(IntlDateFormatter, TRADITIONAL, UCAL_TRADITIONAL); HHVM_ME(IntlDateFormatter, __construct); HHVM_ME(IntlDateFormatter, format); HHVM_STATIC_ME(IntlDateFormatter, formatObject); HHVM_ME(IntlDateFormatter, getCalendar); HHVM_ME(IntlDateFormatter, getDateType); HHVM_ME(IntlDateFormatter, getErrorCode); HHVM_ME(IntlDateFormatter, getErrorMessage); HHVM_ME(IntlDateFormatter, getLocale); HHVM_ME(IntlDateFormatter, getPattern); HHVM_ME(IntlDateFormatter, getTimeType); HHVM_ME(IntlDateFormatter, getTimeZoneId); HHVM_ME(IntlDateFormatter, getCalendarObject); HHVM_ME(IntlDateFormatter, getTimeZone); HHVM_ME(IntlDateFormatter, isLenient); HHVM_ME(IntlDateFormatter, localtime); HHVM_ME(IntlDateFormatter, parse); HHVM_ME(IntlDateFormatter, setCalendar); HHVM_ME(IntlDateFormatter, setLenient); HHVM_ME(IntlDateFormatter, setPattern); HHVM_ME(IntlDateFormatter, setTimeZone); Native::registerNativeDataInfo<IntlDateFormatter>(s_IntlDateFormatter.get()); loadSystemlib("icu_date_fmt"); }
void eventExtension::_initEventUtilClass() { HHVM_STATIC_ME(EventUtil, getLastSocketErrno); HHVM_STATIC_ME(EventUtil, getLastSocketError); HHVM_STATIC_ME(EventUtil, getSocketFd); HHVM_STATIC_ME(EventUtil, getSocketName); HHVM_STATIC_ME(EventUtil, setSocketOption); #ifdef HAVE_LIBEVENT_SSL_SUPPORT HHVM_STATIC_ME(EventUtil, sslRandPoll); #endif }
void mongoExtension::_initMongoClientClass() { HHVM_ME(MongoClient, __construct); HHVM_ME(MongoClient, close); HHVM_ME(MongoClient, connect); HHVM_ME(MongoClient, dropDB); HHVM_ME(MongoClient, __get); HHVM_STATIC_ME(MongoClient, getConnections); HHVM_ME(MongoClient, getHosts); HHVM_ME(MongoClient, getReadPreference); HHVM_ME(MongoClient, killCursor); HHVM_ME(MongoClient, listDBs); HHVM_ME(MongoClient, selectCollection); HHVM_ME(MongoClient, selectDB); HHVM_ME(MongoClient, setReadPreference); HHVM_ME(MongoClient, __toString); HHVM_ME(MongoClient, getServerVersion); }
void IntlExtension::initResourceBundle() { HHVM_ME(ResourceBundle, __construct); HHVM_ME(ResourceBundle, count); HHVM_ME(ResourceBundle, getErrorCode); HHVM_ME(ResourceBundle, getErrorMessage); HHVM_ME(ResourceBundle, get); HHVM_STATIC_ME(ResourceBundle, getLocales); HHVM_ME(ResourceBundle, current); HHVM_ME(ResourceBundle, key); HHVM_ME(ResourceBundle, next); HHVM_ME(ResourceBundle, rewind); HHVM_ME(ResourceBundle, valid); Native::registerNativeDataInfo<ResourceBundle>(s_ResourceBundle.get()); loadSystemlib("icu_rsrc_bundle"); }
void IntlExtension::initTransliterator() { HHVM_ME(Transliterator, __init); HHVM_ME(Transliterator, __createInverse); HHVM_ME(Transliterator, getErrorCode); HHVM_ME(Transliterator, getErrorMessage); HHVM_ME(Transliterator, getId); HHVM_STATIC_ME(Transliterator, listIDs); HHVM_ME(Transliterator, transliterate); Native::registerClassConstant<KindOfInt64> (s_Transliterator.get(), s_FORWARD.get(), UTRANS_FORWARD); Native::registerClassConstant<KindOfInt64> (s_Transliterator.get(), s_REVERSE.get(), UTRANS_REVERSE); Native::registerNativeDataInfo<Transliterator>(s_Transliterator.get()); loadSystemlib("icu_transliterator"); }
void IntlExtension::initTimeZone() { DISP_CONST(SHORT); DISP_CONST(LONG); #if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44 DISP_CONST(SHORT_GENERIC); DISP_CONST(LONG_GENERIC); DISP_CONST(SHORT_GMT); DISP_CONST(LONG_GMT); DISP_CONST(SHORT_COMMONLY_USED); DISP_CONST(GENERIC_LOCATION); #endif // ICU 4.4 HHVM_STATIC_ME(IntlTimeZone, countEquivalentIDs); HHVM_STATIC_ME(IntlTimeZone, createDefault); HHVM_STATIC_ME(IntlTimeZone, createEnumeration); HHVM_STATIC_ME(IntlTimeZone, createTimeZone); HHVM_STATIC_ME(IntlTimeZone, getCanonicalID); HHVM_ME(IntlTimeZone, getDisplayName); HHVM_ME(IntlTimeZone, getDSTSavings); HHVM_STATIC_ME(IntlTimeZone, getEquivalentID); HHVM_ME(IntlTimeZone, getErrorCode); HHVM_ME(IntlTimeZone, getErrorMessage); HHVM_STATIC_ME(IntlTimeZone, getGMT); HHVM_ME(IntlTimeZone, getID); HHVM_ME(IntlTimeZone, getOffset); HHVM_ME(IntlTimeZone, getRawOffset); HHVM_STATIC_ME(IntlTimeZone, getTZDataVersion); HHVM_ME(IntlTimeZone, hasSameRules); HHVM_ME(IntlTimeZone, useDaylightTime); #if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48 CAL_CONST(TYPE_ANY); CAL_CONST(TYPE_CANONICAL); CAL_CONST(TYPE_CANONICAL_LOCATION); HHVM_STATIC_ME(IntlTimeZone, createTimeZoneIDEnumeration); HHVM_STATIC_ME(IntlTimeZone, getRegion); #endif // ICU 4.8 #if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 49 HHVM_STATIC_ME(IntlTimeZone, getUnknown); #endif // ICU 4.9 Native::registerNativeDataInfo<IntlTimeZone>(s_IntlTimeZone.get()); loadSystemlib("icu_timezone"); }
void moduleInit() override { HHVM_ME(DateTime, __construct); HHVM_ME(DateTime, add); HHVM_ME(DateTime, diff); HHVM_ME(DateTime, format); HHVM_ME(DateTime, getOffset); HHVM_ME(DateTime, getTimestamp); HHVM_ME(DateTime, getTimezone); HHVM_ME(DateTime, modify); HHVM_ME(DateTime, setDate); HHVM_ME(DateTime, setISODate); HHVM_ME(DateTime, setTime); HHVM_ME(DateTime, setTimestamp); HHVM_ME(DateTime, setTimezone); HHVM_ME(DateTime, sub); HHVM_ME(DateTime, __sleep); HHVM_ME(DateTime, __wakeup); HHVM_ME(DateTime, __debuginfo); HHVM_STATIC_ME(DateTime, createFromFormat); HHVM_STATIC_ME(DateTime, getLastErrors); Native::registerNativeDataInfo<DateTimeData>( DateTimeData::s_className.get(), Native::NDIFlags::NO_SWEEP); REGISTER_TIME_ZONE_CONSTANT(AFRICA); REGISTER_TIME_ZONE_CONSTANT(AMERICA); REGISTER_TIME_ZONE_CONSTANT(ANTARCTICA); REGISTER_TIME_ZONE_CONSTANT(ARCTIC); REGISTER_TIME_ZONE_CONSTANT(ASIA); REGISTER_TIME_ZONE_CONSTANT(ATLANTIC); REGISTER_TIME_ZONE_CONSTANT(AUSTRALIA); REGISTER_TIME_ZONE_CONSTANT(EUROPE); REGISTER_TIME_ZONE_CONSTANT(INDIAN); REGISTER_TIME_ZONE_CONSTANT(PACIFIC); REGISTER_TIME_ZONE_CONSTANT(UTC); REGISTER_TIME_ZONE_CONSTANT(ALL); REGISTER_TIME_ZONE_CONSTANT(ALL_WITH_BC); REGISTER_TIME_ZONE_CONSTANT(PER_COUNTRY); HHVM_ME(DateTimeZone, __construct); HHVM_ME(DateTimeZone, getLocation); HHVM_ME(DateTimeZone, getName); HHVM_ME(DateTimeZone, getOffset); HHVM_ME(DateTimeZone, getTransitions); HHVM_STATIC_ME(DateTimeZone, listAbbreviations); HHVM_STATIC_ME(DateTimeZone, listIdentifiers); Native::registerNativeDataInfo<DateTimeZoneData>( DateTimeZoneData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_ME(DateInterval, __construct); HHVM_ME(DateInterval, __get); HHVM_ME(DateInterval, __set); HHVM_ME(DateInterval, format); HHVM_STATIC_ME(DateInterval, createFromDateString); Native::registerNativeDataInfo<DateIntervalData>( DateIntervalData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_FE(checkdate); HHVM_FE(date_parse_from_format); HHVM_FE(date_create); HHVM_FE(date_default_timezone_get); HHVM_FE(date_default_timezone_set); HHVM_FE(date_format); HHVM_FE(date_parse); HHVM_FE(date_sun_info); HHVM_NAMED_FE(date_sunrise, date_sunrise_sunset<false>); HHVM_NAMED_FE(date_sunset, date_sunrise_sunset<true>); HHVM_FE(date); HHVM_FE(getdate); HHVM_FE(gettimeofday); HHVM_FE(gmdate); HHVM_FE(gmmktime); HHVM_FE(gmstrftime); HHVM_FE(idate); HHVM_FE(localtime); HHVM_FE(microtime); HHVM_FE(mktime); HHVM_FE(strftime); HHVM_FE(strptime); HHVM_FE(strtotime); HHVM_FE(time); HHVM_FE(timezone_name_from_abbr); HHVM_FE(timezone_version_get); #define SUNFUNCS_CNS(name, type) \ Native::registerConstant<KindOfInt64> \ (makeStaticString("SUNFUNCS_RET_" #name), \ (int64_t)DateTime::SunInfoFormat::Return##type); SUNFUNCS_CNS(DOUBLE, Double); SUNFUNCS_CNS(STRING, String); SUNFUNCS_CNS(TIMESTAMP, TimeStamp); #undef SUNFUNCS_CNS loadSystemlib("datetime"); }
void IntlExtension::initLocale() { HHVM_STATIC_ME(Locale, acceptFromHttp); HHVM_STATIC_ME(Locale, canonicalize); HHVM_STATIC_ME(Locale, composeLocale); HHVM_STATIC_ME(Locale, getAllVariants); HHVM_STATIC_ME(Locale, getDefault); HHVM_STATIC_ME(Locale, getDisplayLanguage); HHVM_STATIC_ME(Locale, getDisplayName); HHVM_STATIC_ME(Locale, getDisplayRegion); HHVM_STATIC_ME(Locale, getDisplayScript); HHVM_STATIC_ME(Locale, getDisplayVariant); HHVM_STATIC_ME(Locale, getKeywords); HHVM_STATIC_ME(Locale, getPrimaryLanguage); HHVM_STATIC_ME(Locale, getRegion); HHVM_STATIC_ME(Locale, getScript); HHVM_STATIC_ME(Locale, lookup); HHVM_STATIC_ME(Locale, parseLocale); HHVM_STATIC_ME(Locale, setDefault); #define ULOC_CONST(nm,val) Native::registerClassConstant<KindOfStaticString>\ (s_Locale.get(), s_##nm.get(), s_##val.get()) Native::registerClassConstant<KindOfNull>(s_Locale.get(), s_DEFAULT_LOCALE.get()); ULOC_CONST(LANG_TAG, LOC_LANG); ULOC_CONST(EXTLANG_TAG, LOC_EXTLANG); ULOC_CONST(SCRIPT_TAG, LOC_SCRIPT); ULOC_CONST(REGION_TAG, LOC_REGION); ULOC_CONST(VARIANT_TAG, LOC_VARIANT); ULOC_CONST(GRANDFATHERED_LANG_TAG, GRANDFATHERED); ULOC_CONST(PRIVATE_TAG, LOC_PRIVATE); #undef ULOC_CONST #define ULOC_LOCALE_CONST(cns) \ Native::registerConstant<KindOfInt64>\ (makeStaticString("ULOC_" #cns), ULOC_##cns); \ Native::registerClassConstant<KindOfInt64>\ (s_Locale.get(), makeStaticString(#cns), ULOC_##cns); ULOC_LOCALE_CONST(ACTUAL_LOCALE); ULOC_LOCALE_CONST(VALID_LOCALE); #undef ULOC_LOCALE_CONST loadSystemlib("icu_locale"); }
void IntlExtension::initCalendar() { FIELD_CONST(ERA); FIELD_CONST(YEAR); FIELD_CONST(MONTH); FIELD_CONST(WEEK_OF_YEAR); FIELD_CONST(WEEK_OF_MONTH); FIELD_CONST(DATE); FIELD_CONST(DAY_OF_YEAR); FIELD_CONST(DAY_OF_WEEK); FIELD_CONST(DAY_OF_WEEK_IN_MONTH); FIELD_CONST(AM_PM); FIELD_CONST(HOUR); FIELD_CONST(HOUR_OF_DAY); FIELD_CONST(MINUTE); FIELD_CONST(SECOND); FIELD_CONST(MILLISECOND); FIELD_CONST(ZONE_OFFSET); FIELD_CONST(DST_OFFSET); FIELD_CONST(YEAR_WOY); FIELD_CONST(DOW_LOCAL); FIELD_CONST(EXTENDED_YEAR); FIELD_CONST(JULIAN_DAY); FIELD_CONST(MILLISECONDS_IN_DAY); FIELD_CONST(IS_LEAP_MONTH); FIELD_CONST(FIELD_COUNT); FIELD_CONST(DAY_OF_MONTH); DOW_CONST(SUNDAY); DOW_CONST(MONDAY); DOW_CONST(TUESDAY); DOW_CONST(WEDNESDAY); DOW_CONST(THURSDAY); DOW_CONST(FRIDAY); DOW_CONST(SATURDAY); #if ((U_ICU_VERSION_MAJOR_NUM * 100) + U_ICU_VERSION_MINOR_NUM) >= 404 TYPE_CONST(WEEKDAY); TYPE_CONST(WEEKEND); TYPE_CONST(WEEKEND_CEASE); // Not a typo: Zend defines OFFSET as ONSET Native::registerClassConstant<KindOfInt64>( s_IntlCalendar.get(), makeStaticString("DOW_TYPE_WEEKEND_OFFSET"), UCAL_WEEKEND_ONSET); #endif #if ((U_ICU_VERSION_MAJOR_NUM * 100) + U_ICU_VERSION_MINOR_NUM) >= 409 CAL_CONST(WALLTIME_FIRST); CAL_CONST(WALLTIME_LAST); CAL_CONST(WALLTIME_NEXT_VALID); #endif HHVM_ME(IntlCalendar, add); HHVM_ME(IntlCalendar, after); HHVM_ME(IntlCalendar, before); HHVM_ME(IntlCalendar, clear); HHVM_STATIC_ME(IntlCalendar, createInstance); HHVM_ME(IntlCalendar, equals); HHVM_ME(IntlCalendar, fieldDifference); HHVM_ME(IntlCalendar, get); HHVM_ME(IntlCalendar, getActualMaximum); HHVM_ME(IntlCalendar, getActualMinimum); HHVM_STATIC_ME(IntlCalendar, getAvailableLocales); HHVM_ME(IntlCalendar, getErrorCode); HHVM_ME(IntlCalendar, getErrorMessage); HHVM_ME(IntlCalendar, getFirstDayOfWeek); HHVM_ME(IntlCalendar, getGreatestMinimum); HHVM_ME(IntlCalendar, getLeastMaximum); HHVM_ME(IntlCalendar, getLocale); HHVM_ME(IntlCalendar, getMaximum); HHVM_ME(IntlCalendar, getMinimalDaysInFirstWeek); HHVM_ME(IntlCalendar, getMinimum); HHVM_STATIC_ME(IntlCalendar, getNow); HHVM_ME(IntlCalendar, getTime); HHVM_ME(IntlCalendar, getTimeZone); HHVM_ME(IntlCalendar, getType); HHVM_ME(IntlCalendar, inDaylightTime); HHVM_ME(IntlCalendar, isEquivalentTo); HHVM_ME(IntlCalendar, isLenient); HHVM_ME(IntlCalendar, _isSet); HHVM_ME(IntlCalendar, roll); HHVM_ME(IntlCalendar, __set_array); HHVM_ME(IntlCalendar, setFirstDayOfWeek); HHVM_ME(IntlCalendar, setLenient); HHVM_ME(IntlCalendar, setMinimalDaysInFirstWeek); HHVM_ME(IntlCalendar, setTime); HHVM_ME(IntlCalendar, setTimeZone); #if ((U_ICU_VERSION_MAJOR_NUM * 100) + U_ICU_VERSION_MINOR_NUM) >= 402 HHVM_STATIC_ME(IntlCalendar, getKeywordValuesForLocale); #endif #if ((U_ICU_VERSION_MAJOR_NUM * 100) + U_ICU_VERSION_MINOR_NUM) >= 404 HHVM_ME(IntlCalendar, getDayOfWeekType); HHVM_ME(IntlCalendar, getWeekendTransition); HHVM_ME(IntlCalendar, isWeekend); #endif #if ((U_ICU_VERSION_MAJOR_NUM * 100) + U_ICU_VERSION_MINOR_NUM) >= 409 HHVM_ME(IntlCalendar, getRepeatedWallTimeOption); HHVM_ME(IntlCalendar, getSkippedWallTimeOption); HHVM_ME(IntlCalendar, setRepeatedWallTimeOption); HHVM_ME(IntlCalendar, setSkippedWallTimeOption); #endif HHVM_ME(IntlGregorianCalendar, __ctor_array); HHVM_ME(IntlGregorianCalendar, isLeapYear); HHVM_ME(IntlGregorianCalendar, getGregorianChange); HHVM_ME(IntlGregorianCalendar, setGregorianChange); Native::registerNativeDataInfo<IntlCalendar>(s_IntlCalendar.get()); loadSystemlib("icu_calendar"); }
void moduleInit() override { HHVM_ME(DateTime, __construct); HHVM_ME(DateTime, add); HHVM_ME(DateTime, diff); HHVM_ME(DateTime, format); HHVM_ME(DateTime, getOffset); HHVM_ME(DateTime, getTimestamp); HHVM_ME(DateTime, getTimezone); HHVM_ME(DateTime, modify); HHVM_ME(DateTime, setDate); HHVM_ME(DateTime, setISODate); HHVM_ME(DateTime, setTime); HHVM_ME(DateTime, setTimestamp); HHVM_ME(DateTime, setTimezone); HHVM_ME(DateTime, sub); HHVM_ME(DateTime, __sleep); HHVM_ME(DateTime, __wakeup); HHVM_ME(DateTime, __debuginfo); HHVM_STATIC_ME(DateTime, createFromFormat); HHVM_STATIC_ME(DateTime, getLastErrors); Native::registerNativeDataInfo<DateTimeData>( DateTimeData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_RC_STR_SAME(DATE_ATOM); HHVM_RCC_STR(DateTime, ATOM, DATE_ATOM); HHVM_RC_STR_SAME(DATE_COOKIE); HHVM_RCC_STR(DateTime, COOKIE, DATE_COOKIE); HHVM_RC_STR_SAME(DATE_ISO8601); HHVM_RCC_STR(DateTime, ISO8601, DATE_ISO8601); HHVM_RC_STR_SAME(DATE_RFC822); HHVM_RCC_STR(DateTime, RFC822, DATE_RFC822); HHVM_RC_STR_SAME(DATE_RFC850); HHVM_RCC_STR(DateTime, RFC850, DATE_RFC850); HHVM_RC_STR_SAME(DATE_RFC1036); HHVM_RCC_STR(DateTime, RFC1036, DATE_RFC1036); HHVM_RC_STR_SAME(DATE_RFC1123); HHVM_RCC_STR(DateTime, RFC1123, DATE_RFC1123); HHVM_RC_STR_SAME(DATE_RFC2822); HHVM_RCC_STR(DateTime, RFC2822, DATE_RFC2822); HHVM_RC_STR_SAME(DATE_RFC3339); HHVM_RCC_STR(DateTime, RFC3339, DATE_RFC3339); HHVM_RC_STR_SAME(DATE_RSS); HHVM_RCC_STR(DateTime, RSS, DATE_RSS); HHVM_RC_STR_SAME(DATE_W3C); HHVM_RCC_STR(DateTime, W3C, DATE_W3C); HHVM_RCC_INT(DateTimeZone, AFRICA, DateTimeZoneData::AFRICA); HHVM_RCC_INT(DateTimeZone, AMERICA, DateTimeZoneData::AMERICA); HHVM_RCC_INT(DateTimeZone, ANTARCTICA, DateTimeZoneData::ANTARCTICA); HHVM_RCC_INT(DateTimeZone, ARCTIC, DateTimeZoneData::ARCTIC); HHVM_RCC_INT(DateTimeZone, ASIA, DateTimeZoneData::ASIA); HHVM_RCC_INT(DateTimeZone, ATLANTIC, DateTimeZoneData::ATLANTIC); HHVM_RCC_INT(DateTimeZone, AUSTRALIA, DateTimeZoneData::AUSTRALIA); HHVM_RCC_INT(DateTimeZone, EUROPE, DateTimeZoneData::EUROPE); HHVM_RCC_INT(DateTimeZone, INDIAN, DateTimeZoneData::INDIAN); HHVM_RCC_INT(DateTimeZone, PACIFIC, DateTimeZoneData::PACIFIC); HHVM_RCC_INT(DateTimeZone, UTC, DateTimeZoneData::UTC); HHVM_RCC_INT(DateTimeZone, ALL, DateTimeZoneData::ALL); HHVM_RCC_INT(DateTimeZone, ALL_WITH_BC, DateTimeZoneData::ALL_WITH_BC); HHVM_RCC_INT(DateTimeZone, PER_COUNTRY, DateTimeZoneData::PER_COUNTRY); HHVM_ME(DateTimeZone, __construct); HHVM_ME(DateTimeZone, getLocation); HHVM_ME(DateTimeZone, getName); HHVM_ME(DateTimeZone, getOffset); HHVM_ME(DateTimeZone, getTransitions); HHVM_STATIC_ME(DateTimeZone, listAbbreviations); HHVM_STATIC_ME(DateTimeZone, listIdentifiers); Native::registerNativeDataInfo<DateTimeZoneData>( DateTimeZoneData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_ME(DateInterval, __construct); HHVM_ME(DateInterval, __get); HHVM_ME(DateInterval, __set); HHVM_ME(DateInterval, format); HHVM_STATIC_ME(DateInterval, createFromDateString); Native::registerNativeDataInfo<DateIntervalData>( DateIntervalData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_FE(checkdate); HHVM_FE(date_parse_from_format); HHVM_FE(date_create); HHVM_FE(date_default_timezone_get); HHVM_FE(date_default_timezone_set); HHVM_FE(date_format); HHVM_FE(date_parse); HHVM_FE(date_sun_info); HHVM_NAMED_FE(date_sunrise, date_sunrise_sunset<false>); HHVM_NAMED_FE(date_sunset, date_sunrise_sunset<true>); HHVM_NAMED_FE(date, date_impl<false>); HHVM_NAMED_FE(gmdate, date_impl<true>); HHVM_FE(getdate); HHVM_FE(gettimeofday); HHVM_FE(gmmktime); HHVM_NAMED_FE(strftime, strftime_impl<false>); HHVM_NAMED_FE(gmstrftime, strftime_impl<true>); HHVM_FE(idate); HHVM_FE(localtime); HHVM_FE(microtime); HHVM_FE(mktime); HHVM_FE(strptime); HHVM_FE(strtotime); HHVM_FE(time); HHVM_FE(timezone_name_from_abbr); HHVM_FE(timezone_version_get); HHVM_RC_INT(SUNFUNCS_RET_DOUBLE, DateTime::SunInfoFormat::ReturnDouble); HHVM_RC_INT(SUNFUNCS_RET_STRING, DateTime::SunInfoFormat::ReturnString); HHVM_RC_INT(SUNFUNCS_RET_TIMESTAMP, DateTime::SunInfoFormat::ReturnTimeStamp); loadSystemlib("datetime"); }
virtual void moduleInit() { HHVM_ME(DateTime, __construct); HHVM_ME(DateTime, add); HHVM_ME(DateTime, diff); HHVM_ME(DateTime, format); HHVM_ME(DateTime, getOffset); HHVM_ME(DateTime, getTimestamp); HHVM_ME(DateTime, getTimezone); HHVM_ME(DateTime, modify); HHVM_ME(DateTime, setDate); HHVM_ME(DateTime, setISODate); HHVM_ME(DateTime, setTime); HHVM_ME(DateTime, setTimestamp); HHVM_ME(DateTime, setTimezone); HHVM_ME(DateTime, sub); HHVM_ME(DateTime, __sleep); HHVM_ME(DateTime, __wakeup); HHVM_ME(DateTime, __debuginfo); HHVM_STATIC_ME(DateTime, createFromFormat); HHVM_STATIC_ME(DateTime, getLastErrors); Native::registerNativeDataInfo<DateTimeData>( DateTimeData::s_className.get(), Native::NDIFlags::NO_SWEEP); REGISTER_TIME_ZONE_CONSTANT(AFRICA); REGISTER_TIME_ZONE_CONSTANT(AMERICA); REGISTER_TIME_ZONE_CONSTANT(ANTARCTICA); REGISTER_TIME_ZONE_CONSTANT(ARCTIC); REGISTER_TIME_ZONE_CONSTANT(ASIA); REGISTER_TIME_ZONE_CONSTANT(ATLANTIC); REGISTER_TIME_ZONE_CONSTANT(AUSTRALIA); REGISTER_TIME_ZONE_CONSTANT(EUROPE); REGISTER_TIME_ZONE_CONSTANT(INDIAN); REGISTER_TIME_ZONE_CONSTANT(PACIFIC); REGISTER_TIME_ZONE_CONSTANT(UTC); REGISTER_TIME_ZONE_CONSTANT(ALL); REGISTER_TIME_ZONE_CONSTANT(ALL_WITH_BC); REGISTER_TIME_ZONE_CONSTANT(PER_COUNTRY); HHVM_ME(DateTimeZone, __construct); HHVM_ME(DateTimeZone, getLocation); HHVM_ME(DateTimeZone, getName); HHVM_ME(DateTimeZone, getOffset); HHVM_ME(DateTimeZone, getTransitions); HHVM_STATIC_ME(DateTimeZone, listAbbreviations); HHVM_STATIC_ME(DateTimeZone, listIdentifiers); Native::registerNativeDataInfo<DateTimeZoneData>( DateTimeZoneData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_ME(DateInterval, __construct); HHVM_ME(DateInterval, __get); HHVM_ME(DateInterval, __set); HHVM_ME(DateInterval, format); HHVM_STATIC_ME(DateInterval, createFromDateString); Native::registerNativeDataInfo<DateIntervalData>( DateIntervalData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_FE(checkdate); HHVM_FE(date_parse_from_format); HHVM_FE(date_create); HHVM_FE(date_default_timezone_get); HHVM_FE(date_default_timezone_set); HHVM_FE(date_format); HHVM_FE(date_parse); HHVM_FE(date_sun_info); HHVM_FE(date_sunrise); HHVM_FE(date_sunset); HHVM_FE(date); HHVM_FE(getdate); HHVM_FE(gettimeofday); HHVM_FE(gmdate); HHVM_FE(gmmktime); HHVM_FE(gmstrftime); HHVM_FE(idate); HHVM_FE(localtime); HHVM_FE(microtime); HHVM_FE(mktime); HHVM_FE(strftime); HHVM_FE(strptime); HHVM_FE(strtotime); HHVM_FE(time); HHVM_FE(timezone_name_from_abbr); HHVM_FE(timezone_version_get); loadSystemlib("datetime"); }
void uvExtension::_initUVUtilClass() { HHVM_STATIC_ME(UVUtil, errorMessage); HHVM_STATIC_ME(UVUtil, version); HHVM_STATIC_ME(UVUtil, versionString); }
void ZMQExtension::moduleInit() { #define RCC_S(class_name, const_name, value) \ Native::registerClassConstant<KindOfString>(s_##class_name.get(), \ makeStaticString(#const_name), makeStaticString(value)); #define RCC_I(class_name, const_name, value) \ Native::registerClassConstant<KindOfInt64>(s_##class_name.get(), \ makeStaticString(#const_name), (int64_t)value); HHVM_STATIC_ME(ZMQ, clock); #if (ZMQ_VERSION_MAJOR == 3 && ZMQ_VERSION_MINOR >= 2) || ZMQ_VERSION_MAJOR > 3 RCC_I(ZMQ, CTXOPT_MAX_SOCKETS, ZMQ_MAX_SOCKETS); RCC_I(ZMQ, CTXOPT_MAX_SOCKETS_DEFAULT, ZMQ_MAX_SOCKETS_DFLT); #endif RCC_I(ZMQ, DEVICE_FORWARDER, ZMQ_FORWARDER); RCC_I(ZMQ, DEVICE_QUEUE, ZMQ_QUEUE); RCC_I(ZMQ, DEVICE_STREAMER, ZMQ_STREAMER); RCC_I(ZMQ, ERR_INTERNAL, PHP_ZMQ_INTERNAL_ERROR); RCC_I(ZMQ, ERR_EAGAIN, EAGAIN); RCC_I(ZMQ, ERR_ENOTSUP, ENOTSUP); RCC_I(ZMQ, ERR_EFSM, EFSM); RCC_I(ZMQ, ERR_ETERM, ETERM); RCC_S(ZMQ, LIBZMQ_VER, ZMQ::getLibVersion()); #if ZMQ_VERSION_MAJOR == 3 && ZMQ_VERSION_MINOR == 0 RCC_I(ZMQ, MODE_SNDLABEL, ZMQ_SNDLABEL); #endif RCC_I(ZMQ, MODE_SNDMORE, ZMQ_SNDMORE); RCC_I(ZMQ, MODE_NOBLOCK, ZMQ_DONTWAIT); RCC_I(ZMQ, MODE_DONTWAIT, ZMQ_DONTWAIT); RCC_I(ZMQ, POLL_IN, ZMQ_POLLIN); RCC_I(ZMQ, POLL_OUT, ZMQ_POLLOUT); /* Socket constants */ RCC_I(ZMQ, SOCKET_PAIR, ZMQ_PAIR); RCC_I(ZMQ, SOCKET_PUB, ZMQ_PUB); RCC_I(ZMQ, SOCKET_SUB, ZMQ_SUB); #if ZMQ_VERSION_MAJOR >= 3 RCC_I(ZMQ, SOCKET_XSUB, ZMQ_XSUB); RCC_I(ZMQ, SOCKET_XPUB, ZMQ_XPUB); #endif RCC_I(ZMQ, SOCKET_REQ, ZMQ_REQ); RCC_I(ZMQ, SOCKET_REP, ZMQ_REP); RCC_I(ZMQ, SOCKET_XREQ, ZMQ_XREQ); RCC_I(ZMQ, SOCKET_XREP, ZMQ_XREP); RCC_I(ZMQ, SOCKET_PUSH, ZMQ_PUSH); RCC_I(ZMQ, SOCKET_PULL, ZMQ_PULL); RCC_I(ZMQ, SOCKET_DEALER, ZMQ_DEALER); RCC_I(ZMQ, SOCKET_ROUTER, ZMQ_ROUTER); #if ZMQ_VERSION_MAJOR >= 4 RCC_I(ZMQ, SOCKET_STREAM, ZMQ_STREAM); #endif RCC_I(ZMQ, SOCKET_UPSTREAM, ZMQ_PULL); RCC_I(ZMQ, SOCKET_DOWNSTREAM, ZMQ_PUSH); Native::registerNativeDataInfo<ZMQContext>(s_ZMQContext.get(), Native::NDIFlags::NO_COPY); HHVM_ME(ZMQContext, __construct); HHVM_STATIC_ME(ZMQContext, acquire); HHVM_ME(ZMQContext, isPersistent); #if (ZMQ_VERSION_MAJOR == 3 && ZMQ_VERSION_MINOR >= 2) || ZMQ_VERSION_MAJOR > 3 HHVM_ME(ZMQContext, getOpt); HHVM_ME(ZMQContext, setOpt); #endif HHVM_ME(ZMQContext, getSocket); Native::registerNativeDataInfo<ZMQSocket>(s_ZMQSocket.get(), Native::NDIFlags::NO_COPY); HHVM_ME(ZMQSocket, __construct); HHVM_ME(ZMQSocket, send); HHVM_MALIAS(ZMQSocket, sendMsg, ZMQSocket, send); HHVM_ME(ZMQSocket, sendMulti); HHVM_ME(ZMQSocket, recv); HHVM_MALIAS(ZMQSocket, recvMsg, ZMQSocket, recv); HHVM_ME(ZMQSocket, recvMulti); HHVM_ME(ZMQSocket, getPersistentId); HHVM_ME(ZMQSocket, bind); HHVM_ME(ZMQSocket, connect); #if (ZMQ_VERSION_MAJOR == 3 && ZMQ_VERSION_MINOR >= 2) || ZMQ_VERSION_MAJOR > 3 HHVM_ME(ZMQSocket, unbind); HHVM_ME(ZMQSocket, disconnect); #endif HHVM_ME(ZMQSocket, getEndpoints); HHVM_ME(ZMQSocket, getSocketType); HHVM_ME(ZMQSocket, isPersistent); HHVM_ME(ZMQSocket, getSockOpt); HHVM_ME(ZMQSocket, setSockOpt); Native::registerNativeDataInfo<ZMQPoll>(s_ZMQPoll.get(), Native::NDIFlags::NO_COPY); HHVM_ME(ZMQPoll, add); HHVM_ME(ZMQPoll, remove); HHVM_ME(ZMQPoll, poll); HHVM_ME(ZMQPoll, count); HHVM_ME(ZMQPoll, clear); Native::registerNativeDataInfo<ZMQDevice>(s_ZMQDevice.get(), Native::NDIFlags::NO_COPY | Native::NDIFlags::NO_SWEEP); HHVM_ME(ZMQDevice, __construct); HHVM_ME(ZMQDevice, run); HHVM_ME(ZMQDevice, getIdleTimeout); HHVM_ME(ZMQDevice, setIdleTimeout); HHVM_ME(ZMQDevice, getTimerTimeout); HHVM_ME(ZMQDevice, setTimerTimeout); HHVM_ME(ZMQDevice, setIdleCallback); HHVM_ME(ZMQDevice, setTimerCallback); #ifdef HAVE_LIBCZMQ Native::registerNativeDataInfo<ZMQCert>(s_ZMQCert.get()); HHVM_ME(ZMQCert, __construct); HHVM_ME(ZMQCert, getPublicKey); HHVM_ME(ZMQCert, getSecretKey); HHVM_ME(ZMQCert, getPublicTxt); HHVM_ME(ZMQCert, getSecretTxt); HHVM_ME(ZMQCert, setMeta); HHVM_ME(ZMQCert, getMeta); HHVM_ME(ZMQCert, getMetaKeys); HHVM_ME(ZMQCert, save); HHVM_ME(ZMQCert, savePublic); HHVM_ME(ZMQCert, saveSecret); HHVM_ME(ZMQCert, apply); HHVM_ME(ZMQCert, equals); Native::registerNativeDataInfo<ZMQAuth>(s_ZMQAuth.get(), Native::NDIFlags::NO_COPY); HHVM_ME(ZMQAuth, __construct); HHVM_ME(ZMQAuth, allow); HHVM_ME(ZMQAuth, deny); HHVM_ME(ZMQAuth, configure); RCC_I(ZMQAuth, AUTH_TYPE_PLAIN, ZMQAuthType::Plain); RCC_I(ZMQAuth, AUTH_TYPE_CURVE, ZMQAuthType::Curve); RCC_S(ZMQ, CURVE_ALLOW_ANY, CURVE_ALLOW_ANY); #endif registerSockoptConstants(); loadSystemlib(); ZMQ::initializeClock(); initializeExceptionReferences(); #undef RCC_I #undef RCC_S }