summaryrefslogtreecommitdiffstats
path: root/parameter-connector-test
diff options
context:
space:
mode:
Diffstat (limited to 'parameter-connector-test')
-rw-r--r--parameter-connector-test/Android.mk34
-rw-r--r--parameter-connector-test/ExamplePlatform.cpp123
-rw-r--r--parameter-connector-test/ExamplePlatform.h77
-rw-r--r--parameter-connector-test/main.cpp78
4 files changed, 312 insertions, 0 deletions
diff --git a/parameter-connector-test/Android.mk b/parameter-connector-test/Android.mk
new file mode 100644
index 0000000..b3b52a2
--- /dev/null
+++ b/parameter-connector-test/Android.mk
@@ -0,0 +1,34 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH :=
+
+
+LOCAL_SRC_FILES:= \
+ main.cpp \
+ ExamplePlatform.cpp
+
+
+LOCAL_MODULE:= parameter-connector-test
+
+LOCAL_MODULE_TAGS := optional
+
+TARGET_ERROR_FLAGS += -Wno-non-virtual-dtor
+
+LOCAL_C_INCLUDES += \
+ external/stlport/stlport/ \
+ external/webkit/WebCore/icu/ \
+ bionic/libstdc++ \
+ bionic/
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/../parameter
+
+LOCAL_SHARED_LIBRARIES := libstlport libicuuc libparameter
+LOCAL_STATIC_LIBRARIES :=
+
+LOCAL_LDLIBS +=
+LOCAL_LDFLAGS +=
+
+include $(BUILD_EXECUTABLE)
+
diff --git a/parameter-connector-test/ExamplePlatform.cpp b/parameter-connector-test/ExamplePlatform.cpp
new file mode 100644
index 0000000..0e51cfb
--- /dev/null
+++ b/parameter-connector-test/ExamplePlatform.cpp
@@ -0,0 +1,123 @@
+/* <auto_header>
+ * <FILENAME>
+ *
+ * INTEL CONFIDENTIAL
+ * Copyright © 2011 Intel
+ * Corporation All Rights Reserved.
+ *
+ * The source code contained or described herein and all documents related to
+ * the source code ("Material") are owned by Intel Corporation or its suppliers
+ * or licensors. Title to the Material remains with Intel Corporation or its
+ * suppliers and licensors. The Material contains trade secrets and proprietary
+ * and confidential information of Intel or its suppliers and licensors. The
+ * Material is protected by worldwide copyright and trade secret laws and
+ * treaty provisions. No part of the Material may be used, copied, reproduced,
+ * modified, published, uploaded, posted, transmitted, distributed, or
+ * disclosed in any way without Intel’s prior express written permission.
+ *
+ * No license under any patent, copyright, trade secret or other intellectual
+ * property right is granted to or conferred upon you by disclosure or delivery
+ * of the Materials, either expressly, by implication, inducement, estoppel or
+ * otherwise. Any license under such intellectual property rights must be
+ * express and approved by Intel in writing.
+ *
+ * AUTHOR: Patrick Benavoli (patrickx.benavoli@intel.com)
+ * CREATED: 2011-06-01
+ * UPDATED: 2011-07-27
+ *
+ *
+ * </auto_header>
+ */
+#include "ExamplePlatform.h"
+#include "ParameterMgrPlatformConnector.h"
+#include <iostream>
+
+// Logger
+class CParameterMgrPlatformConnectorLogger : public CParameterMgrPlatformConnector::ILogger
+{
+public:
+ CParameterMgrPlatformConnectorLogger() {}
+
+ virtual void log(const std::string& strLog)
+ {
+ cout << strLog << endl;
+ }
+};
+
+// CExamplePlatform Implementation
+CExamplePlatform::CExamplePlatform(const string& strClass) : _pParameterMgrPlatformConnector(new CParameterMgrPlatformConnector(strClass)), _pParameterMgrPlatformConnectorLogger(new CParameterMgrPlatformConnectorLogger)
+{
+ // Logger
+ _pParameterMgrPlatformConnector->setLogger(_pParameterMgrPlatformConnectorLogger);
+
+ /// Criteria Types
+ // Mode
+ _pModeType = _pParameterMgrPlatformConnector->createSelectionCriterionType();
+ _pModeType->addValuePair(0, "Normal");
+ _pModeType->addValuePair(1, "InCsvCall");
+ _pModeType->addValuePair(2, "InVoipCall");
+ _pModeType->addValuePair(3, "RingTone");
+
+ // InputDevice
+ _pInputDeviceType = _pParameterMgrPlatformConnector->createSelectionCriterionType(true);
+ _pInputDeviceType->addValuePair(0x1, "BuiltIn");
+ _pInputDeviceType->addValuePair(0x2, "Headset");
+ _pInputDeviceType->addValuePair(0x4, "BluetoothHeadsetSCO");
+ _pInputDeviceType->addValuePair(0x8, "VoiceCall");
+
+ // OutputDevice
+ _pOutputDeviceType = _pParameterMgrPlatformConnector->createSelectionCriterionType(true);
+ _pOutputDeviceType->addValuePair(0x1, "Headphones");
+ _pOutputDeviceType->addValuePair(0x2, "Headset");
+ _pOutputDeviceType->addValuePair(0x4, "Earpiece");
+ _pOutputDeviceType->addValuePair(0x8, "IHF");
+ _pOutputDeviceType->addValuePair(0x10, "BluetoothSCO");
+ _pOutputDeviceType->addValuePair(0x20, "BluetoothHeadsetSCO");
+ _pOutputDeviceType->addValuePair(0x40, "BluetoothCarKitSCO");
+ _pOutputDeviceType->addValuePair(0x80, "BluetoothA2DP");
+
+ /// Criteria
+ _pMode = _pParameterMgrPlatformConnector->createSelectionCriterion("Mode", _pModeType);
+ _pSelectedInputDevice = _pParameterMgrPlatformConnector->createSelectionCriterion("SelectedInputDevice", _pInputDeviceType);
+ _pSelectedOutputDevice = _pParameterMgrPlatformConnector->createSelectionCriterion("SelectedOutputDevice", _pOutputDeviceType);
+
+ // Init state
+ setState(EInitState);
+}
+
+CExamplePlatform::~CExamplePlatform()
+{
+ delete _pParameterMgrPlatformConnectorLogger;
+ delete _pParameterMgrPlatformConnector;
+}
+
+// Start
+bool CExamplePlatform::start(string& strError)
+{
+ return _pParameterMgrPlatformConnector->start(strError);
+}
+
+// State
+void CExamplePlatform::setState(CExamplePlatform::State eState)
+{
+ switch(eState) {
+ case EInitState:
+ _pMode->setCriterionState(0, false);
+ _pSelectedInputDevice->setCriterionState(0, false);
+ _pSelectedOutputDevice->setCriterionState(0x4);
+ break;
+ case EState1:
+ _pMode->setCriterionState(0, false);
+ _pSelectedInputDevice->setCriterionState(0, false);
+ // Select Headset
+ _pSelectedOutputDevice->setCriterionState(0x1);
+ break;
+ case EState2:
+ break;
+ case EState3:
+ break;
+ default:
+ break;
+ }
+}
+
diff --git a/parameter-connector-test/ExamplePlatform.h b/parameter-connector-test/ExamplePlatform.h
new file mode 100644
index 0000000..bf821e8
--- /dev/null
+++ b/parameter-connector-test/ExamplePlatform.h
@@ -0,0 +1,77 @@
+/* <auto_header>
+ * <FILENAME>
+ *
+ * INTEL CONFIDENTIAL
+ * Copyright © 2011 Intel
+ * Corporation All Rights Reserved.
+ *
+ * The source code contained or described herein and all documents related to
+ * the source code ("Material") are owned by Intel Corporation or its suppliers
+ * or licensors. Title to the Material remains with Intel Corporation or its
+ * suppliers and licensors. The Material contains trade secrets and proprietary
+ * and confidential information of Intel or its suppliers and licensors. The
+ * Material is protected by worldwide copyright and trade secret laws and
+ * treaty provisions. No part of the Material may be used, copied, reproduced,
+ * modified, published, uploaded, posted, transmitted, distributed, or
+ * disclosed in any way without Intel’s prior express written permission.
+ *
+ * No license under any patent, copyright, trade secret or other intellectual
+ * property right is granted to or conferred upon you by disclosure or delivery
+ * of the Materials, either expressly, by implication, inducement, estoppel or
+ * otherwise. Any license under such intellectual property rights must be
+ * express and approved by Intel in writing.
+ *
+ * AUTHOR: Patrick Benavoli (patrickx.benavoli@intel.com)
+ * CREATED: 2011-06-01
+ * UPDATED: 2011-07-27
+ *
+ *
+ * </auto_header>
+ */
+#pragma once
+
+#include <string>
+
+using namespace std;
+
+class CParameterMgrPlatformConnector;
+class CParameterMgrPlatformConnectorLogger;
+class ISelectionCriterionTypeInterface;
+class ISelectionCriterionInterface;
+
+class CExamplePlatform
+{
+public:
+ enum State {
+ EInitState,
+ EState1,
+ EState2,
+ EState3,
+
+ ENbStates
+ };
+
+ CExamplePlatform(const string& strClass);
+ ~CExamplePlatform();
+
+ // Start
+ bool start(string& strError);
+
+ // State
+ void setState(State eState);
+
+private:
+ // The connector
+ CParameterMgrPlatformConnector* _pParameterMgrPlatformConnector;
+ // Logger
+ CParameterMgrPlatformConnectorLogger* _pParameterMgrPlatformConnectorLogger;
+ // Criteria Types
+ ISelectionCriterionTypeInterface* _pModeType;
+ ISelectionCriterionTypeInterface* _pInputDeviceType;
+ ISelectionCriterionTypeInterface* _pOutputDeviceType;
+
+ // Criteria
+ ISelectionCriterionInterface* _pMode;
+ ISelectionCriterionInterface* _pSelectedInputDevice;
+ ISelectionCriterionInterface* _pSelectedOutputDevice;
+};
diff --git a/parameter-connector-test/main.cpp b/parameter-connector-test/main.cpp
new file mode 100644
index 0000000..2fb8218
--- /dev/null
+++ b/parameter-connector-test/main.cpp
@@ -0,0 +1,78 @@
+/* <auto_header>
+ * <FILENAME>
+ *
+ * INTEL CONFIDENTIAL
+ * Copyright © 2011 Intel
+ * Corporation All Rights Reserved.
+ *
+ * The source code contained or described herein and all documents related to
+ * the source code ("Material") are owned by Intel Corporation or its suppliers
+ * or licensors. Title to the Material remains with Intel Corporation or its
+ * suppliers and licensors. The Material contains trade secrets and proprietary
+ * and confidential information of Intel or its suppliers and licensors. The
+ * Material is protected by worldwide copyright and trade secret laws and
+ * treaty provisions. No part of the Material may be used, copied, reproduced,
+ * modified, published, uploaded, posted, transmitted, distributed, or
+ * disclosed in any way without Intel’s prior express written permission.
+ *
+ * No license under any patent, copyright, trade secret or other intellectual
+ * property right is granted to or conferred upon you by disclosure or delivery
+ * of the Materials, either expressly, by implication, inducement, estoppel or
+ * otherwise. Any license under such intellectual property rights must be
+ * express and approved by Intel in writing.
+ *
+ * AUTHOR: Patrick Benavoli (patrickx.benavoli@intel.com)
+ * CREATED: 2011-06-01
+ * UPDATED: 2011-07-27
+ *
+ *
+ * </auto_header>
+ */
+#include <iostream>
+#include <semaphore.h>
+#include "ExamplePlatform.h"
+#include <semaphore.h>
+
+using namespace std;
+
+#ifdef SIMULATION
+const char* gpcParameterFrameworkConfigurationFolderPath = "/home/pat/projects/qt/parameter-framework/XML";
+#else
+const char* gpcParameterFrameworkConfigurationFolderPath = "/etc/parameter-framework";
+#endif
+
+int main(int argc, char *argv[])
+{
+ if (argc < 2) {
+
+ cerr << "Missing arguments" << endl;
+
+ return -1;
+ }
+
+ string strError;
+
+ // Create param mgr
+ CExamplePlatform examplePlatform(argv[1]);
+
+ // Start platformmgr
+ if (!examplePlatform.start(strError)) {
+
+ cerr << strError << endl;
+
+ return -1;
+ }
+
+ // Change criteria
+
+ // Block here
+ sem_t sem;
+
+ sem_init(&sem, false, 0);
+
+ sem_wait(&sem);
+
+ sem_destroy(&sem);
+
+ return 0;
+}