|
|
- /*------------------------------------------------------------------------
- | Zystem is a native interface for message reporting in java.
- | Copyright 2003-2004 by Trent Jarvi taj@www.linux.org.uk.
- |
- | This library is free software; you can redistribute it and/or
- | modify it under the terms of the GNU Library General Public
- | License as published by the Free Software Foundation; either
- | version 2 of the License, or (at your option) any later version.
- |
- | This library is distributed in the hope that it will be useful,
- | but WITHOUT ANY WARRANTY; without even the implied warranty of
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- | Library General Public License for more details.
- |
- | You should have received a copy of the GNU Library General Public
- | License along with this library; if not, write to the Free
- | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- --------------------------------------------------------------------------*/
- package gnu.io;
-
- import java.io.RandomAccessFile;
-
- public class Zystem
- {
- public static final int SILENT_MODE = 0;
- public static final int FILE_MODE = 1;
- public static final int NET_MODE = 2;
- public static final int MEX_MODE = 3;
- public static final int PRINT_MODE = 4;
- public static final int J2EE_MSG_MODE = 5;
-
- static int mode;
-
- static
- {
- /*
- The rxtxZystem library uses Python code and is not
- included with RXTX. A seperate library will be released
- to avoid potential license conflicts.
-
- Trent Jarvi taj@www.linux.org.uk
- */
-
- //System.loadLibrary( "rxtxZystem" );
- mode = SILENT_MODE;
- }
-
- private static String target;
-
- public Zystem( int m ) throws UnSupportedLoggerException
- {
- mode = m;
- startLogger( "asdf" );
- }
-
-
- public void startLogger( ) throws UnSupportedLoggerException
- {
- if ( mode == SILENT_MODE || mode == PRINT_MODE )
- {
- //nativeNetInit( );
- return;
- }
- throw new UnSupportedLoggerException( "Target Not Allowed" );
- }
-
- /* accept the host or file to log to. */
-
- public void startLogger( String t ) throws UnSupportedLoggerException
- {
- target = t;
- /*
- if ( mode == NET_MODE )
- {
- nativeNetInit( );
- }
- if ( nativeInit( ) )
- {
- throw new UnSupportedLoggerException(
- "Port initializion failed" );
- }
- */
- return;
- }
-
- public void finalize()
- {
- /*
- if ( mode == NET_MODE )
- {
- nativeNetFinalize( );
- }
- nativeFinalize();
- */
- mode = SILENT_MODE;
- target = null;
- }
-
- public void filewrite( String s )
- {
- try {
- RandomAccessFile w =
- new RandomAccessFile( target, "rw" );;
- w.seek( w.length() );
- w.writeBytes( s );
- w.close();
- } catch ( Exception e ) {
- System.out.println("Debug output file write failed");
- }
- }
-
- public boolean report( String s)
- {
- if ( mode == NET_MODE )
- {
- // return( nativeNetReportln( s ) );
- }
- else if ( mode == PRINT_MODE )
- {
- System.out.println( s );
- return( true );
- }
- else if ( mode == MEX_MODE )
- {
- // return( nativeMexReport( s ) );
- }
- else if ( mode == SILENT_MODE )
- {
- return( true );
- }
- else if ( mode == FILE_MODE )
- {
- filewrite( s );
- }
- else if ( mode == J2EE_MSG_MODE )
- {
- return( false );
- }
- return( false );
- }
-
- public boolean reportln( )
- {
- boolean b;
- if ( mode == NET_MODE )
- {
- // b= nativeNetReportln( "\n" );
- // return(b);
- }
- else if ( mode == PRINT_MODE )
- {
- System.out.println( );
- return( true );
- }
- else if ( mode == MEX_MODE )
- {
- // b = nativeMexReportln( "\n" );
- // return(b);
- }
- else if ( mode == SILENT_MODE )
- {
- return( true );
- }
- else if ( mode == FILE_MODE )
- {
- filewrite( "\n" );
- }
- else if ( mode == J2EE_MSG_MODE )
- {
- return( false );
- }
- return( false );
- }
-
- public boolean reportln( String s)
- {
- boolean b;
- if ( mode == NET_MODE )
- {
- // b= nativeNetReportln( s + "\n" );
- // return(b);
- }
- else if ( mode == PRINT_MODE )
- {
- System.out.println( s );
- return( true );
- }
- else if ( mode == MEX_MODE )
- {
- // b = nativeMexReportln( s + "\n" );
- // return(b);
- }
- else if ( mode == SILENT_MODE )
- {
- return( true );
- }
- else if ( mode == FILE_MODE )
- {
- filewrite( s + "\n" );
- }
- else if ( mode == J2EE_MSG_MODE )
- {
- return( false );
- }
- return( false );
- }
-
- /*
- private native boolean nativeInit( );
- private native void nativeFinalize();
- */
-
- /* open and close the socket */
- /*
- private native boolean nativeNetInit( );
- private native void nativeNetFinalize();
- */
-
- /* dumping to a remote machine */
- /*
- public native boolean nativeNetReport( String s );
- public native boolean nativeNetReportln( String s );
- */
-
- /* specific to Matlab */
- /*
- public native boolean nativeMexReport( String s );
- public native boolean nativeMexReportln( String s );
- */
- }
|