Ejemplo n.º 1
0
  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();
  }
Ejemplo n.º 2
0
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");
}
Ejemplo n.º 3
0
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");
}
Ejemplo n.º 4
0
    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
    }
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
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");
}
Ejemplo n.º 7
0
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");
}
Ejemplo n.º 8
0
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");
}
Ejemplo n.º 9
0
  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");
  }
Ejemplo n.º 10
0
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");
}
Ejemplo n.º 11
0
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");
}
Ejemplo n.º 12
0
  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");
  }
Ejemplo n.º 13
0
  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");
  }
Ejemplo n.º 14
0
 void uvExtension::_initUVUtilClass() {
     HHVM_STATIC_ME(UVUtil, errorMessage);    
     HHVM_STATIC_ME(UVUtil, version);
     HHVM_STATIC_ME(UVUtil, versionString);
 }
Ejemplo n.º 15
0
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
}