summaryrefslogtreecommitdiff
path: root/include/environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/environment.h')
-rw-r--r--include/environment.h156
1 files changed, 0 insertions, 156 deletions
diff --git a/include/environment.h b/include/environment.h
deleted file mode 100644
index a7512d7..0000000
--- a/include/environment.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/**
- * Environment.h
- *
- * During the lifetime of the extension, multiple requests can be handled
- * by it. For every request that is handled, an environment object is created.
- *
- * The base class for the environment is defined in this file. If you'd like
- * to add state variables to the environment you can override this class and
- * add the extra features you'd like. If you override this method, you should
- * also override Extension::createEnvironment() to return an instance of a
- * different class.
- *
- * @author Emiel Bruijntjes <emiel.bruijntjes@copernica.com>
- * @copyright 2013 Copernica BV
- */
-
-/**
- * Set up namespace
- */
-namespace Php {
-
-/**
- * Forward definitions
- */
-class Extension;
-class Global;
-
-/**
- * Class definition
- */
-class Environment
-{
-public:
- /**
- * Constructor
- * @param extension
- */
- Environment(Extension *extension) : _extension(extension) {}
-
- /**
- * Disable copy and move operations
- */
- Environment(const Environment &environment) = delete;
- Environment(Environment &&environment) = delete;
-
- /**
- * Destructor
- */
- virtual ~Environment() {}
-
- /**
- * Initialize the request
- *
- * This method is called directly after the object was destructed. You can
- * override this method to add your own initialization code.
- *
- * @return bool
- */
- virtual bool initialize()
- {
- return true;
- }
-
- /**
- * Finalize the request
- *
- * This method is called right before the object is destructed. Note that
- * the object is going to be destructed anyway, even if this method returns
- * false
- *
- * @return bool
- */
- virtual bool finalize()
- {
- return true;
- }
-
- /**
- * Get access to the user supplied data
- * @return void*
- */
- virtual void *data()
- {
- return _data;
- }
-
- /**
- * Change the user supplied data
- * @param data
- */
- virtual void setData(void *data)
- {
- _data = data;
- }
-
- /**
- * Get access to a global variable
- * @param name
- * @return Global
- */
- Global operator[](const char *name);
-
- /**
- * Get access to a global variable
- * @param name
- * @return Global
- */
- Global operator[](const std::string &name);
-
- /**
- * Call a function in PHP
- * We have ten variants of this function, depending on the number of parameters
- * @param name Name of the function
- * @return Value
- */
- Value call(const Value &name);
- Value call(const Value &name, Value p0);
- Value call(const Value &name, Value p0, Value p1);
- Value call(const Value &name, Value p0, Value p1, Value p2);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7, Value p8);
- Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7, Value p8, Value p9);
-
-private:
- /**
- * Call function with a number of parameters
- * @param name Function name
- * @param argc Number of parameters
- * @param argv The parameters
- * @return Value
- */
- Value exec(const Value &name, int argc, struct _zval_struct ***params);
-
-protected:
- /**
- * The extension that this environment belongs to
- * @var Extension*
- */
- Extension *_extension;
-
- /**
- * Pointer to user supplied data
- * @var void*
- */
- void *_data = NULL;
-};
-
-/**
- * End of namespace
- */
-}
-