CDEmu client
v.1.2.0
~~~~~~~~~~~~~

This is cdemu-client, a simple command-line client for controlling CDEmu daemon.
It is part of the userspace-cdemu suite, a free, GPL CD/DVD-ROM device emulator 
for linux.

It provides a way to perform the key tasks related to controlling the CDEmu
daemon, such as loading and unloading devices, displaying devices' status and
retrieving/setting devices' debug masks.

Requirements:
~~~~~~~~~~~~~
 - python 2.4 or newer
 - D-BUS python bindings
 - intltool


Installation:
~~~~~~~~~~~~~

Installation process is generic ./configure, make, make install as described in
INSTALL file.


Note that if during make, you get the following error:
    make[1]: Entering directory `/tmp/cdemu-client-1.1.0/po'
    file=`echo sl | sed 's,.*/,,'`.gmo \
    && rm -f $file && -o $file sl.po
    /bin/sh: -o: not found
    make[1]: *** [sl.gmo] Error 127
it means you don't have intltool installed.
 
 
Usage examples:
~~~~~~~~~~~~~~~

Read cdemu-client's man page or run 'cdemu -h' for more information on commands
and their syntax.


Loading a single image to first device:
 cdemu load 0 ~/image.mds
 
Loading multiple-file image to first device:
 cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc

Loading a text-based image in non-ASCII/non-Unicode encoding:
 cdemu load 0 ~/image.cue --encoding=windows-1250

Loading an encrypted image with password provided as an argument:
 cdemu load 0 ~/image.daa --password=seeninplain
 cdemu load 0 ~/image.daa
(in the latter case, if image is actually encrypted, the client will prompt for
the password using standard input without echo)
 
Unloading first device:
 cdemu unload 0

Displaying device status:
 cdemu status

Displaying device mapping information:
 cdemu device-mapping

Enumerating supported daemon debug masks:
 cdemu enum-daemon-debug-masks

Enumerating supported library debug masks:
 cdemu enum-library-debug-masks
 
Setting daemon debug mask for the first device:
 cdemu daemon-debug-mask 0 0x01
 
Obtaining library debug mask for the first device:
 cdemu library-debug-mask 0

Disabling DPM emulation on all devices:
 cdemu dpm-emulation all 0
 
Enabling transfer rate emulation on first device:
 cdemu tr-emulation 0 1
 
Changing device ID of first device:
 cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"
 
Enumerating supported parsers:
 cdemu enum-supported-parsers

Enumerating supported fragments:
 cdemu enum-supported-fragments

Displaying daemon and library version:
 cdemu version

System vs. session bus:
~~~~~~~~~~~~~~~~~~~~~~~
When connecting to daemon, cdemu client can use either session or system bus. By
hard-coded default, it uses system bus. The default bus to be used can be specified
via /etc/cdemu-client.conf or ~/.cdemu-client file, in following format:

# This is example cdemu client config file. 
# Save it as /etc/cdemu-client.conf or ~/.cdemu-client

[defaults]
#bus=system
bus=session

# End of config file

The default can be overriden by using --bus option. E.g.:
 cdemu --bus=session status
or
 cdemu --bus=system status

A note on encrypted images and password supplying:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As of version 1.2.0, CDEmu daemon offers support for encrypted images. When password
is required to load an image (and it hasn't been provided via commandline using
--password), cdemu-client will prompt for it and then send it to daemon.

NOTE, HOWEVER, THAT THE PASSWORD IS SENT OVER D-BUS IN A PLAIN STRING FORM, WITHOUT 
ANY PROTECTION. DEPENDING ON YOUR PRIVACY CONCERNS YOU MIGHT WISH TO AVOID LOADING 
SUCH IMAGES.

 
Contact information:
~~~~~~~~~~~~~~~~~~~~

CDEmu project's web page: http://cdemu.sourceforge.net
CDEmu project's mailing list: cdemu-devel@lists.sourceforge.net

Author can be directly contacted via e-mail address listed in AUTHORS file.
