Qt-based BB10 API Examples Documentation

ContactsDisplay.hpp Example File

bbmcontacts/src/ContactsDisplay.hpp
    /* Copyright (c) 2013 BlackBerry Limited.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */

    #ifndef CONTACSDISPLAY_HPP
    #define CONTACSDISPLAY_HPP

    #include "Contact.hpp"

    #include <bb/cascades/QListDataModel>

    namespace bb {
    namespace platform {
    namespace bbm {
    class Context;
    class ContactService;
    }
    }
    }

    /**
     * This class deals mainly with the ContactService and
     * the updating of the ListView model to reflect up-to-date
     * content.
     */
    class ContactsDisplay: public QObject
    {
            Q_OBJECT

    public:
            /**
             * Default Constructor.
             */
            ContactsDisplay(bb::platform::bbm::Context &context, QObject *parent = 0);

    public Q_SLOTS:
            /**
             * Creates the ContactList qml document and sets
             * the application scene to it.
             */
            void show();

            /**
             * Updates the ListView model with your bbm contacts.
             */
            void updateModel();

            /**
             * Updates the contact in the datamodel with the
             * contact changes.
             */
            void contactUpdated(const QString &handle);

    private:
            bb::platform::bbm::Context *m_context;
            bb::cascades::QListDataModel<Contact*>* m_contactsDataModel;
            bb::platform::bbm::ContactService * m_contactService;

    };
    #endif /* CONTACSDISPLAY_HPP */