Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2012 Red Hat, Inc., and individual contributors
   * as indicated by the @author tags.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.jboss.web.php;

Library class.

Author(s):
Mladen Turk
Version:
$Revision: 515 $, $Date: 2008-03-17 22:02:23 +0100 (Mon, 17 Mar 2008) $
Since:
1.0
 
 public class Library {
 
     /* Default library names */
     private static String [] NAMES = { "php5servlet""libphp5servlet" };
 
     /*
      * A handle to the unique Library singleton instance.
      */
     private static Library engine = null;
     private static boolean inited = false;
 
     static PhpThread phpthread = null;
 
     private Library()
     {
         boolean loaded = false;
         String err = "";
         for (int i = 0; i < .i++) {
             try {
                 System.loadLibrary([i]);
                 loaded = true;
             } catch (Throwable e) {
                 if ( i > 0)
                     err += ", ";
                 err +=  e.getMessage();
             }
             if (loaded)
                 break;
         }
         if (!loaded) {
             err += "(";
             err += System.getProperty("java.library.path");
             err += ")";
             throw new UnsatisfiedLinkError(err);
         }
     }
 
     private Library(String libraryName)
     {
         System.loadLibrary(libraryName);
     }
 
     /* PHP_MAJOR_VERSION */
     public static int PHP_MAJOR_VERSION  = 0;
     /* PHP_MINOR_VERSION */
     public static int PHP_MINOR_VERSION  = 0;
     /* PHP_PATCH_VERSION */
     public static int PHP_PATCH_VERSION  = 0;
 
     /* Initialize PHP Engine
      * This has to be the first call to PHP Module.
      */
     public static native boolean startup();
 
     /* destroy global PHP Engine
      * This has to be the last call to PHP Module.
      */
     public static native void shutdown();
 
     /* Internal function for obtaining PHP Module version */
     private static native int version(int index);

    
Setup any PHP internal data structures. This MUST be the first function called for PHP module.

Parameters:
libraryName the name of the library to load
 
     public static boolean initialize(String libraryName)
         throws Exception
     {
         if ( == null) {
             if (libraryName == null)
                 = new Library();
            else
                 = new Library(libraryName);
              = version(1);
              = version(2);
              = version(3);
        }
        
         = new PhpThread();
        .setDaemon(true);
        .start();
        // Wait until the startup is done.
        while (! &&  .isAlive()) {
            Thread.currentThread().sleep(3000);
        }
        return ;
    }

    
Check if PHP module is initialized.
    public static boolean isInitialized()
    {
        return ;
    }

    
Terminate PHP Engine.
    public static void terminate()
    {
        if ( != null) {
            if ( != null && .isAlive()) {
                .interrupt();
            }
             = null;
             = false;
        }
    }
    public static void StartUp() {
         = startup();
    }
New to GrepCode? Check out our FAQ X