Sure thing!
Here's the code:
H file:
#ifndef CAMERACONTOLLER_H_
#define CAMERACONTOLLER_H_
#include <QtCore/QObject>
#include <QtCore/QMetaType>
#include <bb/cascades/Application>
#include <bb/cascades/multimedia/Camera>
using namespace bb::cascades;
using namespace bb::cascades::multimedia;
class CameraContoller : public QObject
{
Q_OBJECT
public:
CameraContoller();
~CameraContoller();
Container* getCameraContainer();
void startCamera();
void stopCamera();
private:
Container *m_cameraContainer;
Camera *m_camera;
};
#endif /* CAMERACONTOLLER_H_ */ cpp file:
#include <bb/cascades/multimedia/Camera>
#include <bb/cascades/multimedia/CameraUnit>
#include <bb/cascades/multimedia/CameraSettings>
#include <bb/cascades/multimedia/CameraFlashMode>
using namespace bb::cascades;
using namespace bb::cascades::multimedia;
CameraContoller::CameraContoller()
{
qmlRegisterType<Camera>("bb.cascades.multimedia",1,0,"Camera");
m_cameraContainer = Container::create()
.layout(DockLayout::create())
.add(Container::create()
.horizontal(HorizontalAlignment::Center)
.vertical(VerticalAlignment::Center));
m_camera = new Camera(m_cameraContainer);
//m_camera = new Camera();
m_cameraContainer->add(m_camera);
}
void CameraContoller::startCamera()
{
m_camera->setPreferredWidth(768);
m_camera->setPreferredHeight(1280);
m_camera->open(CameraUnit::Rear);
CameraSettings* cameraSettings = new CameraSettings();
cameraSettings->setFlashMode(CameraFlashMode::Light);
m_camera->applySettings(cameraSettings);
m_camera->startViewfinder();
} Problem output:
Description Resource Path Location Type
make: *** [Device-Debug] Error 2 TestLed C/C++ Problem
make[1]: *** [debug] Error 2 TestLed C/C++ Problem
make[2]: *** [o.le-v7-g/TestLed] Error 1 TestLed C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::~Camera()' TestLed line 86, external location: /Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::applySettings(bb::cascades::multimedia::CameraSettings*)' CameraContoller.cpp /TestLed/src line 176 C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::Camera(bb::cascades::Container*)' CameraContoller.cpp /TestLed/src line 77 C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::Camera(bb::cascades::Container*)' TestLed line 82, external location: /Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera:

pen(bb::cascades::multimedia::CameraUnit::Type)' CameraContoller.cpp /TestLed/src line 172 C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::startViewfinder()' CameraContoller.cpp /TestLed/src line 178 C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject' TestLed line 163, external location: /Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h C/C++ Problem
undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject' TestLed line 189, external location: /Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h C/C++ Problem
undefined reference to `bb::cascades::multimedia::CameraSettings::CameraSettings(QObject*)' CameraContoller.cpp /TestLed/src line 174 C/C++ Problem
undefined reference to `bb::cascades::multimedia::CameraSettings::setFlashMode(bb::cascades::multimedia::CameraFlashMode::Type)' CameraContoller.cpp /TestLed/src line 175 C/C++ Problem
Source file of asset "TestLed.so" does not exist. bar-descriptor.xml /TestLed line 74 BlackBerry App Manifest Problem
Source file of asset "TestLed" does not exist. bar-descriptor.xml /TestLed line 69 BlackBerry App Manifest Problem
Source file of asset "TestLed" does not exist. bar-descriptor.xml /TestLed line 78 BlackBerry App Manifest Problem
Source file of asset "TestLed" does not exist. bar-descriptor.xml /TestLed line 82 BlackBerry App Manifest Problem
And console output:
**** Build of configuration Device-Debug for project TestLed ****
make Device-Debug
make -C .//translations -f Makefile update
make[1]: Entering directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/translations'
/Users/user/Applications/blackberry/host_10_0_9_404/darwin/x86/usr/bin/lupdate TestLed.pro
Updating 'TestLed.ts'...
Found 0 source text(s) (0 new and 0 already existing)
make[1]: Leaving directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/translations'
make -C .//translations -f Makefile release
make[1]: Entering directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/translations'
/Users/user/Applications/blackberry/host_10_0_9_404/darwin/x86/usr/bin/lrelease TestLed.pro
Updating '/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/translations/TestLed.qm'...
Generated 0 translation(s) (0 finished and 0 unfinished)
make[1]: Leaving directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/translations'
make -C ./arm -f Makefile debug
make[1]: Entering directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm'
make -f Makefile.Debug
make[2]: Entering directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm'
qcc -Vgcc_ntoarmv7le -c -Wc,-include -Wc,o.le-v7-g/.obj/TestLed -Wno-psabi -lang-c++ -fstack-protector-strong -mcpu=cortex-a9 -g -Wno-psabi -Wall -W -D_REENTRANT -DQT_NO_IMPORT_QT47_QML -DQ_OS_BLACKBERRY -DQT_DECLARATIVE_DEBUG -DQT_DECLARATIVE_LIB -DQT_CORE_LIB -DQT_SHARED -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/share/qt4/mkspecs/blackberry-armv7le-qcc -I../../TestLed -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtCore -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4 -I../src -Io.le-v7-g/.moc -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include -I/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/freetype2 -I. -o o.le-v7-g/.obj/CameraContoller.o ../src/CameraContoller.cpp
qcc -Vgcc_ntoarmv7le -lang-c++ -Wl,-rpath-link,/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/lib -Wl,-rpath-link,/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/usr/lib -Wl,-rpath-link,/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/usr/lib/qt4/lib -o o.le-v7-g/TestLed o.le-v7-g/.obj/CameraContoller.o o.le-v7-g/.obj/TestLed.o o.le-v7-g/.obj/main.o o.le-v7-g/.obj/moc_CameraContoller.o o.le-v7-g/.obj/moc_TestLed.o -L/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/lib -L/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/usr/lib -L/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/armle-v7/usr/lib/qt4/lib -L/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6//usr/lib/qt4/lib -lcamapi -lscreen -lbbcascades -lQtDeclarative -lQtScript -lQtSvg -lQtSql -lsqlite3 -lz -lQtXmlPatterns -lQtGui -lQtNetwork -lsocket -lQtCore -lm -lbps
o.le-v7-g/.obj/CameraContoller.o: In function `CameraContoller':
make[2]: Leaving directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm'
make[1]: Leaving directory `/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm'

errors start here
/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm/../src/CameraContoller.cpp:80: undefined reference to `bb::cascades::multimedia::Camera::Camera(bb::cascades::Container*)'
o.le-v7-g/.obj/CameraContoller.o: In function `CameraContoller::startCamera()':
/Users/user/Documents/code/blackberry/ndk-10.0.9-w
orkspace/TestLed/arm/../src/CameraContoller.cpp:17
5: undefined reference to `bb::cascades::multimedia::Camera:

pen(bb::cascades::multimedia::CameraUnit::Type)'
/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm/../src/CameraContoller.cpp:177: undefined reference to `bb::cascades::multimedia::CameraSettings::CameraSettings(QObject*)'
/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm/../src/CameraContoller.cpp:178: undefined reference to `bb::cascades::multimedia::CameraSettings::setFlashMode(bb::cascades::multimedia::CameraFlashMode::Type)'
/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm/../src/CameraContoller.cpp:179: undefined reference to `bb::cascades::multimedia::Camera::applySettings(bb::cascades::multimedia::CameraSettings*)'
/Users/user/Documents/code/blackberry/ndk-10.0.9-workspace/TestLed/arm/../src/CameraContoller.cpp:181: undefined reference to `bb::cascades::multimedia::Camera::startViewfinder()'
o.le-v7-g/.obj/CameraContoller.o: In function `int qmlRegisterType<bb::cascades::multimedia::Camera>(char const*, int, int, char const*)':
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h:163: undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject'
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h:163: undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject'
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h:189: undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject'
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h:189: undefined reference to `bb::cascades::multimedia::Camera::staticMetaObject'
o.le-v7-g/.obj/CameraContoller.o: In function `QDeclarativeElement':
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:82: undefined reference to `bb::cascades::multimedia::Camera::Camera(bb::cascades::Container*)'
o.le-v7-g/.obj/CameraContoller.o

.rodata._ZTVN19QDeclarativePrivate19QDeclarativeEl
ementIN2bb8cascades10multimedia6CameraEEE[_ZTVN19Q
DeclarativePrivate19QDeclarativeElementIN2bb8casca
des10multimedia6CameraEEE]+0x8): undefined reference to `bb::cascades::multimedia::Camera::metaObject() const'
o.le-v7-g/.obj/CameraContoller.o

.rodata._ZTVN19QDeclarativePrivate19QDeclarativeEl
ementIN2bb8cascades10multimedia6CameraEEE[_ZTVN19Q
DeclarativePrivate19QDeclarativeElementIN2bb8casca
des10multimedia6CameraEEE]+0xc): undefined reference to `bb::cascades::multimedia::Camera::qt_metacast(cha
r const*)'
o.le-v7-g/.obj/CameraContoller.o

.rodata._ZTVN19QDeclarativePrivate19QDeclarativeEl
ementIN2bb8cascades10multimedia6CameraEEE[_ZTVN19Q
DeclarativePrivate19QDeclarativeElementIN2bb8casca
des10multimedia6CameraEEE]+0x10): undefined reference to `bb::cascades::multimedia::Camera::qt_metacall(QMe
taObject::Call, int, void**)'
o.le-v7-g/.obj/CameraContoller.o

.rodata._ZTIN19QDeclarativePrivate19QDeclarativeEl
ementIN2bb8cascades10multimedia6CameraEEE[_ZTIN19Q
DeclarativePrivate19QDeclarativeElementIN2bb8casca
des10multimedia6CameraEEE]+0x8): undefined reference to `typeinfo for bb::cascades::multimedia::Camera'
o.le-v7-g/.obj/CameraContoller.o: In function `~QDeclarativeElement':
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:86: undefined reference to `bb::cascades::multimedia::Camera::~Camera()'
/Users/user/Applications/blackberry/target_10_0_9_1673/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:86: undefined reference to `bb::cascades::multimedia::Camera::~Camera()'
cc: /Users/user/Applications/blackberry/host_10_0_9_404/darwin/x86/usr/bin/ntoarm-ld error 1
make[2]: *** [o.le-v7-g/TestLed] Error 1
make[1]: *** [debug] Error 2
make: *** [Device-Debug] Error 2
**** Build Finished ****