summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-06-25 15:29:59 (UTC)
committer mickeyl <mickeyl>2005-06-25 15:29:59 (UTC)
commit790aeb8898d635468c2b9e24fd16a70aab64b1dd (patch) (side-by-side diff)
tree72139f02106b88325efbb39fc11f5ccd79ce29fb
parent3d434ac35915afe7f7035468ca18656264a91c52 (diff)
downloadopie-790aeb8898d635468c2b9e24fd16a70aab64b1dd.zip
opie-790aeb8898d635468c2b9e24fd16a70aab64b1dd.tar.gz
opie-790aeb8898d635468c2b9e24fd16a70aab64b1dd.tar.bz2
- fix logic in isEmpty() and isSuspended()
- add convenience API productIdentityVendor()
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/linux/opcmciasystem.cpp13
-rw-r--r--libopie2/opiecore/linux/opcmciasystem.h8
2 files changed, 16 insertions, 5 deletions
diff --git a/libopie2/opiecore/linux/opcmciasystem.cpp b/libopie2/opiecore/linux/opcmciasystem.cpp
index a5725f1..21c5a84 100644
--- a/libopie2/opiecore/linux/opcmciasystem.cpp
+++ b/libopie2/opiecore/linux/opcmciasystem.cpp
@@ -276,8 +276,9 @@ const OPcmciaSocket::OPcmciaSocketCardStatus OPcmciaSocket::status() const
int result = ::ioctl( _fd, DS_GET_STATUS, &cs_status );
if ( result != 0 )
{
qWarning( "OPcmciaSocket::status() - DS_GET_STATUS failed (%s)", strerror( errno ) );
+ // return ( errno == -ENODEV ) ? Empty : Unknown;
return Unknown;
}
else
{
@@ -295,15 +296,15 @@ bool OPcmciaSocket::isUnsupported() const
bool OPcmciaSocket::isEmpty() const
{
- return ! status() && ( Occupied || OccupiedCardBus );
+ return !(status() & ( Occupied | OccupiedCardBus ));
}
bool OPcmciaSocket::isSuspended() const
{
- return status() && Suspended;
+ return status() & Suspended;
}
bool OPcmciaSocket::eject()
@@ -335,9 +336,9 @@ bool OPcmciaSocket::reset()
return ::ioctl( _fd, DS_RESET_CARD ) != -1;
}
-QStringList OPcmciaSocket::productIdentity() const
+QStringList OPcmciaSocket::productIdentityVector() const
{
QStringList list;
cistpl_vers_1_t *vers = &_ioctlarg.tuple_parse.parse.version_1;
vers->ns = 0; // number of strings
@@ -357,8 +358,14 @@ QStringList OPcmciaSocket::productIdentity() const
return list;
}
+QString OPcmciaSocket::productIdentity() const
+{
+ return productIdentityVector().join( " " ).stripWhiteSpace();
+}
+
+
QString OPcmciaSocket::manufacturerIdentity() const
{
cistpl_manfid_t *manfid = &_ioctlarg.tuple_parse.parse.manfid;
if ( getTuple( CISTPL_MANFID ) )
diff --git a/libopie2/opiecore/linux/opcmciasystem.h b/libopie2/opiecore/linux/opcmciasystem.h
index 0fd43cf..23d8c41 100644
--- a/libopie2/opiecore/linux/opcmciasystem.h
+++ b/libopie2/opiecore/linux/opcmciasystem.h
@@ -187,11 +187,15 @@ class OPcmciaSocket : public QObject
* @note: This operation needs root privileges
*/
bool reset();
/**
- * @returns a list of product IDs
+ * @returns the product ID vector
+ */
+ QStringList productIdentityVector() const;
+ /**
+ * @returns the product ID string
*/
- QStringList productIdentity() const;
+ QString productIdentity() const;
/**
* @returns the manufacturer ID string
*/
QString manufacturerIdentity() const;