~ubuntu-branches/ubuntu/maverick/rxtx/maverick

« back to all changes in this revision

Viewing changes to src/gnu/io/ParallelPort.java

  • Committer: Bazaar Package Importer
  • Author(s): Scott Howard
  • Date: 2010-06-03 23:19:16 UTC
  • mfrom: (4.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20100603231916-8bapendemannfwau
Tags: 2.2pre2-1
* New upstream release:
  - Fixes JVM crash and UnsatisfiedLinkError/NoClassDefFoundError
    (Closes: #523139) (Closes: #489701)
  - Fixes amd64 support (Closes: #574395)
* Added debian/watch file
* Switched to source format 3.0 (quilt)
  - moved debian changes into patch in debian/patches
* Changed rules to use dh
* Fixed multiple lintian errors and multiple warnings
  - Policy version 3.8.4
* Section moved to java from libs
* Moved to team maintenance: Maintainer: Debian Java maintainers
  - Mario and I moved to uploaders
* DM Uploads Allowed: yes
* Build depends on javahelper
  - Binary depends on ${java:Depends}, use jh_installlibs for versioned
    install
  - Versioned naming of RXTXcomm.jar (Debian java policy)
* Added VCS tags to debian/control
* Libs now install in /usr/lib/jni instead of /usr/lib
* Added doc-base file

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*-------------------------------------------------------------------------
 
2
|   RXTX License v 2.1 - LGPL v 2.1 + Linking Over Controlled Interface.
 
3
|   RXTX is a native interface to serial ports in java.
 
4
|   Copyright 1997-2007 by Trent Jarvi tjarvi@qbang.org and others who
 
5
|   actually wrote it.  See individual source files for more information.
 
6
|
 
7
|   A copy of the LGPL v 2.1 may be found at
 
8
|   http://www.gnu.org/licenses/lgpl.txt on March 4th 2007.  A copy is
 
9
|   here for your convenience.
 
10
|
 
11
|   This library is free software; you can redistribute it and/or
 
12
|   modify it under the terms of the GNU Lesser General Public
 
13
|   License as published by the Free Software Foundation; either
 
14
|   version 2.1 of the License, or (at your option) any later version.
 
15
|
 
16
|   This library is distributed in the hope that it will be useful,
 
17
|   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
18
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
19
|   Lesser General Public License for more details.
 
20
|
 
21
|   An executable that contains no derivative of any portion of RXTX, but
 
22
|   is designed to work with RXTX by being dynamically linked with it,
 
23
|   is considered a "work that uses the Library" subject to the terms and
 
24
|   conditions of the GNU Lesser General Public License.
 
25
|
 
26
|   The following has been added to the RXTX License to remove
 
27
|   any confusion about linking to RXTX.   We want to allow in part what
 
28
|   section 5, paragraph 2 of the LGPL does not permit in the special
 
29
|   case of linking over a controlled interface.  The intent is to add a
 
30
|   Java Specification Request or standards body defined interface in the 
 
31
|   future as another exception but one is not currently available.
 
32
|
 
33
|   http://www.fsf.org/licenses/gpl-faq.html#LinkingOverControlledInterface
 
34
|
 
35
|   As a special exception, the copyright holders of RXTX give you
 
36
|   permission to link RXTX with independent modules that communicate with
 
37
|   RXTX solely through the Sun Microsytems CommAPI interface version 2,
 
38
|   regardless of the license terms of these independent modules, and to copy
 
39
|   and distribute the resulting combined work under terms of your choice,
 
40
|   provided that every copy of the combined work is accompanied by a complete
 
41
|   copy of the source code of RXTX (the version of RXTX used to produce the
 
42
|   combined work), being distributed under the terms of the GNU Lesser General
 
43
|   Public License plus this exception.  An independent module is a
 
44
|   module which is not derived from or based on RXTX.
 
45
|
 
46
|   Note that people who make modified versions of RXTX are not obligated
 
47
|   to grant this special exception for their modified versions; it is
 
48
|   their choice whether to do so.  The GNU Lesser General Public License
 
49
|   gives permission to release a modified version without this exception; this
 
50
|   exception also makes it possible to release a modified version which
 
51
|   carries forward this exception.
 
52
|
 
53
|   You should have received a copy of the GNU Lesser General Public
 
54
|   License along with this library; if not, write to the Free
 
55
|   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
56
|   All trademarks belong to their respective owners.
 
57
--------------------------------------------------------------------------*/
 
58
package gnu.io;
 
59
 
 
60
import java.io.*;
 
61
import java.util.*;
 
62
 
 
63
 
 
64
/**
 
65
* @author Trent Jarvi
 
66
* @version %I%, %G%
 
67
* @since JDK1.0
 
68
*/
 
69
 
 
70
public  abstract class ParallelPort extends CommPort
 
71
{
 
72
        public static final int  LPT_MODE_ANY   =0;
 
73
        public static final int  LPT_MODE_SPP   =1;
 
74
        public static final int  LPT_MODE_PS2   =2;
 
75
        public static final int  LPT_MODE_EPP   =3;
 
76
        public static final int  LPT_MODE_ECP   =4;
 
77
        public static final int  LPT_MODE_NIBBLE=5;
 
78
 
 
79
        public abstract int getMode();
 
80
        public abstract int setMode(int mode)
 
81
                throws UnsupportedCommOperationException;
 
82
        public abstract void restart();
 
83
        public abstract void suspend();
 
84
        public abstract boolean isPaperOut();
 
85
        public abstract boolean isPrinterBusy();
 
86
        public abstract boolean isPrinterError();
 
87
        public abstract boolean isPrinterSelected();
 
88
        public abstract boolean isPrinterTimedOut();
 
89
        public abstract int getOutputBufferFree();
 
90
        public abstract void addEventListener( ParallelPortEventListener lsnr )
 
91
                throws TooManyListenersException;
 
92
        public abstract void removeEventListener();
 
93
        public abstract void notifyOnError( boolean enable );
 
94
        public abstract void notifyOnBuffer( boolean enable );
 
95
/*
 
96
        public int  PAR_EV_ERROR    1
 
97
        public int  PAR_EV_BUFFER   2
 
98
        public ParallelPort(){}
 
99
        private native static void Initialize();
 
100
        public LPRPort( String name ) throws IOException;
 
101
        private native int open( String name ) throws IOException;
 
102
        private int fd;
 
103
        private final ParallelOutputStream out = new ParallelOutputStream();
 
104
        public OutputStream getOutputStream();
 
105
        private final ParallelInputStream in = new ParallelInputStream();
 
106
        public InputStream getInputStream();
 
107
        private int lprmode=LPT_MODE_ANY;
 
108
        public native boolean setLPRMode(int mode)
 
109
                throws UnsupportedCommOperationException;
 
110
        private int speed;
 
111
        public int getBaudRate();
 
112
        private int dataBits;
 
113
        public int getDataBits();
 
114
        private int stopBits;
 
115
        public int getStopBits();
 
116
        private int parity;
 
117
        public int getParity();
 
118
        private native void nativeClose();
 
119
        public void close();
 
120
        public void enableReceiveFraming( int f )
 
121
                throws UnsupportedCommOperationException;
 
122
        public void disableReceiveFraming() {}
 
123
        public boolean isReceiveFramingEnabled();
 
124
        public int getReceiveFramingByte();
 
125
        private int timeout = 0;
 
126
        public void enableReceiveTimeout( int t );
 
127
        public void disableReceiveTimeout();
 
128
        public boolean isReceiveTimeoutEnabled();
 
129
        public int getReceiveTimeout();
 
130
        private int threshold = 1;
 
131
        public void enableReceiveThreshold( int t );
 
132
        public void disableReceiveThreshold();
 
133
        public int getReceiveThreshold();
 
134
        public boolean isReceiveThresholdEnabled();
 
135
        public native void setInputBufferSize( int size );
 
136
        public native int getInputBufferSize();
 
137
        public native void setOutputBufferSize( int size );
 
138
        public Abstract int getOutputBufferSize();
 
139
        private native void writeByte( int b ) throws IOException;
 
140
        private native void writeArray( byte b[], int off, int len )
 
141
                throws IOException;
 
142
        private native void drain() throws IOException;
 
143
        private native int nativeavailable() throws IOException;
 
144
        private native int readByte() throws IOException;
 
145
        private native int readArray( byte b[], int off, int len )
 
146
                throws IOException;
 
147
        private ParallelPortEventListener PPEventListener;
 
148
        private MonitorThread monThread;
 
149
        native void eventLoop();
 
150
        void sendEvent( int event, boolean state );
 
151
        protected void finalize();
 
152
*/
 
153
}