README for the EZP@gerNG Plugin Software Developer Kit ====================================================== What is the Plugin SDK for? --------------------------- The EZP@gerNG allows you to send messages from your computer to various kinds of remote receivers over different types of service networks. The program currently supports sending messages to mobile cell phones via SMS, to pagers and EMail recipients. The message transfer to pagers and cell phones is either carried out over a direct modem or ISDN connection or, by using external plugins, over an existing Internet connection via TCP/IP and related protocols. The protocols to transfer messages via dialup modem/ISDN connections are built into the main program - several protocol or service options can be set or changed, but in former releases it wasn't possible for the user or programmer to add completely new protocols or services. To make the EZP@gerNG more extensible in this respect, the usage of external plugins has been built into the latest program releases. When external plugins are used, the message, as well as all necessary information about the receiver, will be handed over to the plugin by the EZP@gerNG using a standardized application programming interface (API) which is documented by this SDK (see plugin.doc). This API allows a programmer to write service plugins for any kind of service. In addition to that, the SDK also demonstrates how to use the ezhttp.library which is created by the EZP@gerNG at runtime. The ezhttp.library contains various functions for an easy HTTP communication. It is currently used by external plugins to send messages over web gateways. The functions of the ezhttp.library are documented in ezhttp.doc. The plugin API -------------- The plugin API defines the interface between the EZP@gerNG and an external plugin which can be used to transfer messages to different receivers. In this SDK version it is used to demonstrate how to send messages from the EZP@gerNG to mobile phones via HTTP gateways. Apart from that it can also be used to create plugins which send messages to various other kinds of receivers and/or using other kinds of transportation methods. The functions defined by the API have to be created and provided by the plugin programmer as a shared library. Please refer to the enclosed example code to see how to get things going. The ezhttp.library ------------------ The functions of the ezhttp.library allow sending and receiving HTTP requests over the net. The library is a shared library wich will be dynamically created by the EZP@gerNG at runtime. It allows to retrieve HTML pages quite easily, to examine the results and to send forms to a remote address. It features redirection and cookie support wich can be enabled/disabled as well as sending referer fields if necessary. In this SDK version it is used to demonstrate how to send messages from the EZP@gerNG to mobile phones via HTTP gateways using an external plugin. Requirements ------------ In order to use this SDK for writing exernal plugins you either need a complete installation of a registered or an unregistered version of EZP@gerNG. To use the ezhttp.library you also need a registered or unregistered version of EZP@gerNG. However, when the unregistered version is used, the ezhttp.library is only available directly before and during message transfer. The registered version of EZP@gerNG creates the ezhttp.library at program startup and will close it only when the program quits. To be able to compile the example plugin source code, a C compiler is needed. The code is written for the SAS/C compiler but it should be able to make it compile under other compilers as well. Disclaimer ---------- THIS SOFTWARE IS PROVIDED BY STEFAN FALKE ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STEFAN FALKE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Contact ------- If you have any comments about the plugin SDK or if you should find any bugs or would like to see special features added to the SDK, the plugin API or the ezhttp.library, please feel free to send me an email to the following address: sfalke@sfxsoft.de