// Example 3
 //-----------
 // Generate data URI from binary data and it's mime type
 //
 static QString binaryDataToDataURI (const QByteArray & data,
     const QString & mime) {
     
     MDataUri duri;
     duri.setBinaryData (data);
     duri.setMimeType (mime);
     return duri.toString();
 }
 // Example 4
 //-----------
 // Read binary data inside data URI
 //
 static QByteArray getBinaryDataFromDataUri (const QString & dataUriString) {
     MDataUri duri = dataUriString;
     if (duri.isValid() == false) {
         qWarning() << "Invalid data uri input";
         return QByteArray();
     }
     
     return duri.data();
 }
 // Example 1
 //-----------
 // Generate string format data uri from link
 //
 // Input param url: (eq. "http://www.meego.com")
 // Input param title: (eq. "MeeGo HomePage"), optional title that is stored
 //  as attribute to data URI
 // 
 // Return value is data uri containing given information (eq.
 //  "data:txt/x-url;title=MeeGo%20Homepage,http%3A%2F%2Fwww.meego.com"
 //    
 static QString linkUrlToDataUri (const QString & url,
     const QString & title = QString()) {
     
     MDataUri duri;
     
     duri.setMimeType ("text/x-url");
     duri.setTextData (url);
     
     if (title.isEmpty() == false) {
         duri.setAttribute ("title", title);
     }
     
     return duri.toString();
 }
Beispiel #4
0
void Tools::share_link(QString linktoshare){

        // thanks matyjas for example on — https://github.com/matyjas/share-bear/
        QString title = "Imgrup";

        QString desc = "uploaded to imgur with N9";


        MDataUri duri;

        duri.setMimeType ("text/x-url");

        duri.setTextData (linktoshare);

        duri.setAttribute ("title", title);

        duri.setAttribute ("description", desc);

        if (duri.isValid() == false) {

            qCritical() << "Invalid URI";

            return;
        }


        QStringList link;

        link << duri.toString();
    ShareUiInterface shareIf("com.nokia.ShareUi");
    shareIf.share(link);

}
Beispiel #5
0
void ShareCommand::share () {

    QString link = "http://forum.nokia.com";

    QString title = "Forum Nokia";

    QString desc = "Support for Nokia Developers";

    /*
    qDebug() << "Make data URI from"
             << link << title << desc;
*/

    MDataUri duri;

    duri.setMimeType ("text/x-url");

    duri.setTextData (link);

    duri.setAttribute ("title", title);

    duri.setAttribute ("description", desc);

    if (duri.isValid() == false) {

        qCritical() << "Invalid URI";

        return;
    }

    QStringList items;

    items << duri.toString();

    //qDebug() << "URI:" << items.join (" ");

    // Create a interface object
    ShareUiInterface shareIf("com.nokia.ShareUi");

    // Check if interface is valid
    if (shareIf.isValid()) {

        // Start ShareUI application with selected files.

        //qDebug() << "Signalling share-ui daemon...";

        shareIf.share (items);

    } else {

        qCritical() << "Invalid interface";

        return;
    }
}
NS_IMETHODIMP
nsExternalSharingAppService::ShareWithDefault(const nsAString & aData,
                                              const nsAString & aMime,
                                              const nsAString & aTitle)
{
  if (!mShareUi)
    mShareUi = new ShareUiInterface();

  if (!mShareUi || !mShareUi->isValid())
    return NS_ERROR_NOT_AVAILABLE;

  if (aData.IsEmpty())
    return NS_ERROR_INVALID_ARG;

  MDataUri uri;
  uri.setTextData(QString::fromUtf16(aData.BeginReading(), aData.Length()));
  uri.setMimeType(QString::fromUtf16(aMime.BeginReading(), aMime.Length())); 
  uri.setAttribute("title", QString::fromUtf16(aTitle.BeginReading(), 0));

  mShareUi->share(QStringList(uri.toString()));

  return NS_OK;
}
 // Example 2
 //-----------
 // Resolve link from data URI
 //
 // Input param dataUriString: string presentation of data URI, eg. 
 //  "data:txt/x-url;title=MeeGo%20Homepage,http%3A%2F%2Fwww.meego.com"
 //
 // Return value: Link (eq. "http://www.meego.com") or empty string if content
 //  isn't valid data uri with valid data mime type.
 //
 static QString getLinkUrlFromDataUri (const QString & dataUriString) {
     MDataUri duri = dataUriString;
     if (duri.isValid() == false) {
         qWarning() << "Invalid data uri input";
         return QString();
     }
     
     if (duri.isOfMimeType ("text/x-uri") == false) {
         qWarning() << "Don't know what to do with" << duri.mimeType();
         return QString();
     }
     
     if (duri.hasAttribute("title") == true) {
         qDebug() << "Found link with title:" << duri.attribute ("title");
     }
     
     return duri.textData();
 }
MDataUri::MDataUri (const MDataUri & src) : d_ptr(new MDataUriPrivate()) {
    read (src.toString());
}
bool MDataUri::operator== (const MDataUri& other) const {
    QString b = other.toString();
    return (toString() == b);
}