Module: XmpToolkitRuby::XmpToolkit

Defined in:
ext/xmp_toolkit_ruby/xmp_toolkit_ruby.cpp

Class Method Summary collapse

Class Method Details

.initialize_xmp(*args) ⇒ Object

Initialize the XMP Toolkit and SXMPFiles with an optional PLUGINS_PATH



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'ext/xmp_toolkit_ruby/xmp_toolkit.cpp', line 131

VALUE
xmp_initialize(int argc, VALUE *argv, VALUE self) {
  VALUE rb_path_arg = Qnil;

  rb_scan_args(argc, argv, "01", &rb_path_arg);

  if (rb_path_arg != Qnil) {
    Check_Type(rb_path_arg, T_STRING);
    const char *path = StringValueCStr(rb_path_arg);

    ensure_sdk_initialized(path);

    return Qnil;
  }

  ensure_sdk_initialized();
  return Qnil;
}

.initialized?Boolean

Returns:

  • (Boolean)


73
74
75
76
77
# File 'ext/xmp_toolkit_ruby/xmp_toolkit.cpp', line 73

VALUE
is_sdk_initialized(VALUE self) {
  std::lock_guard<std::mutex> guard(sdk_init_mutex);
  return sdk_initialized ? Qtrue : Qfalse;
}

.terminateObject



150
151
152
153
154
# File 'ext/xmp_toolkit_ruby/xmp_toolkit.cpp', line 150

VALUE
xmp_terminate(VALUE self) {
  terminate_sdk_internal();
  return Qnil;
}