summaryrefslogtreecommitdiff
path: root/vendor/thecodingmachine/safe/generated/com.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/thecodingmachine/safe/generated/com.php')
-rw-r--r--vendor/thecodingmachine/safe/generated/com.php127
1 files changed, 127 insertions, 0 deletions
diff --git a/vendor/thecodingmachine/safe/generated/com.php b/vendor/thecodingmachine/safe/generated/com.php
new file mode 100644
index 000000000..53643f9d7
--- /dev/null
+++ b/vendor/thecodingmachine/safe/generated/com.php
@@ -0,0 +1,127 @@
+<?php
+
+namespace Safe;
+
+use Safe\Exceptions\ComException;
+
+/**
+ * Instructs COM to sink events generated by
+ * comobject into the PHP object
+ * sinkobject.
+ *
+ * Be careful how you use this feature; if you are doing something similar
+ * to the example below, then it doesn't really make sense to run it in a
+ * web server context.
+ *
+ * @param object $comobject
+ * @param object $sinkobject sinkobject should be an instance of a class with
+ * methods named after those of the desired dispinterface; you may use
+ * com_print_typeinfo to help generate a template class
+ * for this purpose.
+ * @param mixed $sinkinterface PHP will attempt to use the default dispinterface type specified by
+ * the typelibrary associated with comobject, but
+ * you may override this choice by setting
+ * sinkinterface to the name of the dispinterface
+ * that you want to use.
+ * @throws ComException
+ *
+ */
+function com_event_sink(object $comobject, object $sinkobject, $sinkinterface = null): void
+{
+ error_clear_last();
+ if ($sinkinterface !== null) {
+ $result = \com_event_sink($comobject, $sinkobject, $sinkinterface);
+ } else {
+ $result = \com_event_sink($comobject, $sinkobject);
+ }
+ if ($result === false) {
+ throw ComException::createFromPhpError();
+ }
+}
+
+
+/**
+ * Loads a type-library and registers its constants in the engine, as though
+ * they were defined using define.
+ *
+ * Note that it is much more efficient to use the configuration setting to pre-load and
+ * register the constants, although not so flexible.
+ *
+ * If you have turned on , then
+ * PHP will attempt to automatically register the constants associated with a
+ * COM object when you instantiate it. This depends on the interfaces
+ * provided by the COM object itself, and may not always be possible.
+ *
+ * @param string $typelib_name typelib_name can be one of the following:
+ *
+ *
+ *
+ * The filename of a .tlb file or the executable module
+ * that contains the type library.
+ *
+ *
+ *
+ *
+ * The type library GUID, followed by its version number, for example
+ * {00000200-0000-0010-8000-00AA006D2EA4},2,0.
+ *
+ *
+ *
+ *
+ * The type library name, e.g. Microsoft OLE DB ActiveX Data
+ * Objects 1.0 Library.
+ *
+ *
+ *
+ * PHP will attempt to resolve the type library in this order, as the
+ * process gets more and more expensive as you progress down the list;
+ * searching for the type library by name is handled by physically
+ * enumerating the registry until we find a match.
+ *
+ * The filename of a .tlb file or the executable module
+ * that contains the type library.
+ *
+ * The type library GUID, followed by its version number, for example
+ * {00000200-0000-0010-8000-00AA006D2EA4},2,0.
+ *
+ * The type library name, e.g. Microsoft OLE DB ActiveX Data
+ * Objects 1.0 Library.
+ * @param bool $case_sensitive The case_sensitive behaves inversely to
+ * the parameter $case_insensitive in the define
+ * function.
+ * @throws ComException
+ *
+ */
+function com_load_typelib(string $typelib_name, bool $case_sensitive = true): void
+{
+ error_clear_last();
+ $result = \com_load_typelib($typelib_name, $case_sensitive);
+ if ($result === false) {
+ throw ComException::createFromPhpError();
+ }
+}
+
+
+/**
+ * The purpose of this function is to help generate a skeleton class for use
+ * as an event sink. You may also use it to generate a dump of any COM
+ * object, provided that it supports enough of the introspection interfaces,
+ * and that you know the name of the interface you want to display.
+ *
+ * @param object $comobject comobject should be either an instance of a COM
+ * object, or be the name of a typelibrary (which will be resolved according
+ * to the rules set out in com_load_typelib).
+ * @param string $dispinterface The name of an IDispatch descendant interface that you want to display.
+ * @param bool $wantsink If set to TRUE, the corresponding sink interface will be displayed
+ * instead.
+ * @throws ComException
+ *
+ */
+function com_print_typeinfo(object $comobject, string $dispinterface = null, bool $wantsink = false): void
+{
+ error_clear_last();
+ $result = \com_print_typeinfo($comobject, $dispinterface, $wantsink);
+ if ($result === false) {
+ throw ComException::createFromPhpError();
+ }
+}