Invocation

Since: BlackBerry 10.0.0

#include <bb/cascades/Invocation>

Represents an invocation which can be triggered from program code.

The Invocation class represents an invocation that can be made. The triggering of a particular action is specified by the application. If the action exists, and if one target exists the action is invoked for that target. If the action exists and multiple targets exist a target list is presented to the user, so that the user can select a valid target. If the action does not exist, an error is logged in the debug output.

The Invocation class uses InvokeQuery to represent a query.

Here's how to create an Invocation and set it off, using the builder pattern:

// Declare an Invocation* called m_pInvocation somewhere.

void onClicked() {
  m_pInvocation = Invocation::create(
    InvokeQuery::create()
      .parent(this)
      .mimeType("text/plain"));
  QObject::connect(m_pInvocation, SIGNAL(armed()),
    this, SLOT(onArmed()));       
}

void onArmed() {
  m_pInvocation->trigger("bb.action.OPEN");
}

And here's how to create an Invocation, triggered by the click of a button, using QML:

Button {
    attachedObjects: [
        Invocation {
            id: invoke
            query {
                mimeType: "text/plain"
                data: "+4640999999"
            }
        }
    ]

  onClicked: {
    invoke.trigger("bb.action.OPEN")
  }
}


Overview

Inheritance

bb::cascades::BaseObject
bb::cascades::Invocation

QML properties

query: bb::cascades::InvokeQuery
objectName: QStringInherited
parent: QObject [read-only]Inherited

QML signals

onArmed: {}
onFinished: {}
onCreationCompletedInherited: {}
onObjectNameChangedInherited: {}

Properties Index

Public Functions Index

virtual ~Invocation ()
bb::cascades::InvokeQuery *query ()
Q_SLOT voidtrigger (const QString &invokeActionId)
voidsetObjectName (const QString &name)Inherited
virtual Q_INVOKABLE QStringtoDebugString () const Inherited

Static Public Functions Index

Buildercreate (const bb::cascades::InvokeQuery *const pQuery)

Protected Functions Index

Only has inherited protected functions

BaseObject (QObject *parent=0)Inherited

Signals Index

voidarmed ()
voidfinished ()
voidcreationCompleted ()Inherited
voidobjectNameChanged (const QString &objectName)Inherited

Properties

bb::cascades::InvokeQuery query

The query used by the Invocation.

Once this Invocation has been created, this property becomes read-only and attempts to change it will be ignored.

Since:

BlackBerry 10.0.0

QString objectNameInherited

This property is overridden from QObject.

As the objectName property is overridden from the QObject class, this signal will not be emitted if setObjectName() function is called directly on QObject.

The default value of this property is QString::null.

See also:

QObject::objectName().

Since:

BlackBerry 10.0.0

QObject parentInherited[read-only]

A read-only property that represents this object's parent.

The parent of an object is specified using QObject::setParent(QObject*). The purpose of the property is to expose the object's parent to QML.

This property is read-only to prevent modifications from QML, where typically the parent is declaratively set. In C++ code, the parent can be explicitly set using QObject::setParent(QObject*), or implicitly set by adding it to a visual container.

The default value of this property is 0.

Since:

BlackBerry 10.0.0

Public Functions

virtual~Invocation ()

Destructor.

Since:

BlackBerry 10.0.0

bb::cascades::InvokeQuery * query ()

Gets the query used by this Invocation.

The caller takes ownership of the returned pointer.

Return:

The query of this Invocation.

Since:

BlackBerry 10.0.0

Q_SLOT void trigger (

Triggers this invocation.

If the armed signal has not been emitted yet or there is no action matching the provided ID, the invocation will not trigger.

If there are several possible targets for the triggered invocation they will be presented to the user in a list.

Parameters
invokeActionId

The ID of the action to perform the invocation for.

Since:

BlackBerry 10.0.0

void setObjectName (Inherited

Sets the objectName property.

Parameters
name

The new name for the object.

Since:

BlackBerry 10.0.0

virtual Q_INVOKABLE QString toDebugString ()Inherited

Returns a debug string representing this object.

Return:

A debug string for the object.

Since:

BlackBerry 10.0.0

Static Public Functions

Builder create (

Creates and returns a builder for constructing an Invocation.

Usage:
Invocation* pInvocation(Invocation::create(
  InvokeQuery::create()
    .parent(this)
    .mimeType("text/plain")));
Parameters
pQuery

The query to use in the invocation.

Return:

A builder used for constructing an Invocation.

Since:

BlackBerry 10.0.0

Protected Functions

(Only has inherited protected functions)

BaseObject (Inherited

Constructs an instance of BaseObject's subclass.

Parameters
parent

An optional parent, defaults to 0.

Since:

BlackBerry 10.0.0

Signals

void armed ()

Emitted when it is possible to trigger the invocation.

Since:

BlackBerry 10.0.0

void finished ()

Emitted when the invocation is finished.

The invocation has been finished somehow and the Invocation object can safely be deleted.

Since:

BlackBerry 10.0.0

void creationCompleted ()Inherited

This signal is emitted only when this object is instantiated as a result of loading a QML document and creating the root node, or when an object is being constructed using its builder class.

This signal is emitted only when this object is instantiated as a result of loading a QML document and creating the root node (only after the root component that caused this instantiation has completed construction), or when the object is being constructed from its builder class. This signal is emitted to indicate that the construction and initialization of the object has been completed, the properties are initialized, and any QML binding values have been assigned to the object.

This signal is not emitted when the object is constructed from C++ using the constructor. If the object is constructed using its builder class, the signal is emitted when the the builder class returns the fully constructed object.

This signal can be used when there is an activity that needs to be performed, such as a property state integrity verification after the object is instantiated from a QML document or a builder, but before control is returned to the application.

See also:

QmlDocument

Since:

BlackBerry 10.0.0

void objectNameChanged (Inherited

This signal is emitted when the objectName property is changed.

Since:

BlackBerry 10.0.0

Last modified: 2014-03-13

comments powered by Disqus