Package org.freedesktop.dbus.bin
Class DBusDaemon
- java.lang.Object
-
- java.lang.Thread
-
- org.freedesktop.dbus.bin.DBusDaemon
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Runnable
public class DBusDaemon extends java.lang.Thread implements java.io.CloseableA replacement DBusDaemon
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDBusDaemon.ConnectionStructclassDBusDaemon.DBusDaemonReaderThreadclassDBusDaemon.DBusDaemonSenderThreadclassDBusDaemon.DBusServer(package private) static classDBusDaemon.Pair<A,B>
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<DBusDaemon.ConnectionStruct,DBusDaemon.DBusDaemonReaderThread>connsprivate DBusDaemon.DBusServerdbusServerprivate java.util.concurrent.BlockingDeque<DBusDaemon.Pair<Message,java.lang.ref.WeakReference<DBusDaemon.ConnectionStruct>>>inqueueprivate static org.slf4j.LoggerLOGGERprivate java.util.Map<java.lang.String,DBusDaemon.ConnectionStruct>namesprivate java.util.concurrent.atomic.AtomicIntegernextUniqueprivate java.util.concurrent.BlockingDeque<DBusDaemon.Pair<Message,java.lang.ref.WeakReference<DBusDaemon.ConnectionStruct>>>outqueuestatic intQUEUE_POLL_WAITprivate java.util.concurrent.atomic.AtomicBooleanrunprivate DBusDaemon.DBusDaemonSenderThreadsenderprivate java.util.List<DBusDaemon.ConnectionStruct>sigrecipsprivate AbstractTransporttransport
-
Constructor Summary
Constructors Constructor Description DBusDaemon(AbstractTransport _transport)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddSock(TransportConnection _s)voidclose()private DBusSignalgeneratedNameOwnerChangedSignal(java.lang.String _name, java.lang.String _oldOwner, java.lang.String _newOwner)Create a 'NameOwnerChanged' signal manually.private DBusSignalgenerateNameAcquiredSignal(java.lang.String _name)Create a 'NameAcquired' signal manually.booleanisRunning()private static voidlogMessage(java.lang.String _logStr, Message _m, java.lang.String _connUniqueId)static voidmain(java.lang.String[] _args)private voidremoveConnection(DBusDaemon.ConnectionStruct _c)voidrun()static voidsaveFile(java.lang.String _data, java.lang.String _file)private voidsend(DBusDaemon.ConnectionStruct _connStruct, Message _msg)private voidsend(DBusDaemon.ConnectionStruct _connStruct, Message _msg, boolean _head)static voidsyntax()static voidversion()-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
QUEUE_POLL_WAIT
public static final int QUEUE_POLL_WAIT
- See Also:
- Constant Field Values
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
conns
private final java.util.Map<DBusDaemon.ConnectionStruct,DBusDaemon.DBusDaemonReaderThread> conns
-
names
private final java.util.Map<java.lang.String,DBusDaemon.ConnectionStruct> names
-
outqueue
private final java.util.concurrent.BlockingDeque<DBusDaemon.Pair<Message,java.lang.ref.WeakReference<DBusDaemon.ConnectionStruct>>> outqueue
-
inqueue
private final java.util.concurrent.BlockingDeque<DBusDaemon.Pair<Message,java.lang.ref.WeakReference<DBusDaemon.ConnectionStruct>>> inqueue
-
sigrecips
private final java.util.List<DBusDaemon.ConnectionStruct> sigrecips
-
dbusServer
private final DBusDaemon.DBusServer dbusServer
-
sender
private final DBusDaemon.DBusDaemonSenderThread sender
-
run
private final java.util.concurrent.atomic.AtomicBoolean run
-
nextUnique
private final java.util.concurrent.atomic.AtomicInteger nextUnique
-
transport
private final AbstractTransport transport
-
-
Constructor Detail
-
DBusDaemon
public DBusDaemon(AbstractTransport _transport)
-
-
Method Detail
-
send
private void send(DBusDaemon.ConnectionStruct _connStruct, Message _msg)
-
send
private void send(DBusDaemon.ConnectionStruct _connStruct, Message _msg, boolean _head)
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
logMessage
private static void logMessage(java.lang.String _logStr, Message _m, java.lang.String _connUniqueId)
-
isRunning
public boolean isRunning()
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
removeConnection
private void removeConnection(DBusDaemon.ConnectionStruct _c)
-
addSock
void addSock(TransportConnection _s) throws java.io.IOException
- Throws:
java.io.IOException
-
syntax
public static void syntax()
-
version
public static void version()
-
saveFile
public static void saveFile(java.lang.String _data, java.lang.String _file) throws java.io.IOException- Throws:
java.io.IOException
-
main
public static void main(java.lang.String[] _args) throws java.lang.Exception- Throws:
java.lang.Exception
-
generateNameAcquiredSignal
private DBusSignal generateNameAcquiredSignal(java.lang.String _name) throws DBusException
Create a 'NameAcquired' signal manually. This is required because the implementation in DBusNameAquired is for receiving of this signal only.- Parameters:
_name- name to announce- Returns:
- signal
- Throws:
DBusException- if signal creation fails
-
generatedNameOwnerChangedSignal
private DBusSignal generatedNameOwnerChangedSignal(java.lang.String _name, java.lang.String _oldOwner, java.lang.String _newOwner) throws DBusException
Create a 'NameOwnerChanged' signal manually. This is required because the implementation in DBusNameAquired is for receiving of this signal only.- Parameters:
_name- name to announce_oldOwner- previous owner_newOwner- new owner- Returns:
- signal
- Throws:
DBusException- if signal creation fails
-
-