#define __DALI_INTERNAL_FRAMEWORK_H__
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
// EXTERNAL INCLUDES
#include <string>
#include <dali/public-api/signals/callback.h>
+#ifdef APPCORE_WATCH_AVAILABLE
+#include "wearable/watch/watch-application.h"
+#endif
// INTERNAL INCLUDES
-#include "abort-handler.h"
+#include <abort-handler.h>
namespace Dali
{
{
/**
- * The Framework class is used to register callbacks with the SLP platform so that
+ * The Framework class is ideally placed to provide key API required by Applications.
+ *
+ * The class is also used to register callbacks with the TIZEN platform so that
* we know when any of the application lifecycle events occur. This includes events
* like when our application is to be initialised, terminated, paused, resumed etc.
+ *
*/
class Framework
{
public:
+ enum Type
+ {
+ NORMAL, ///< normal appFramework
+ WATCH ///< watch appFramework
+ };
/**
* Observer class for the framework.
*/
virtual void OnAppControl(void *) {}
+#ifdef APPCORE_WATCH_AVAILABLE
+ /**
+ * Invoked at every second
+ */
+ virtual void OnTimeTick(WatchTime&) {}
+
+ /**
+ * Invoked at every second in ambient mode
+ */
+ virtual void OnAmbientTick(WatchTime&) {}
+
+ /**
+ * Invoked when the device enters or exits ambient mode
+ */
+ virtual void OnAmbientChanged(bool ambient) {}
+#endif
+
/**
* Invoked when the language of the device is changed.
*/
* Invoked when the memory level of the device is low.
*/
virtual void OnMemoryLow() {}
-
};
public:
* @param[in] observer The observer of the Framework.
* @param[in] argc A pointer to the number of arguments.
* @param[in] argv A pointer the the argument list.
+ * @param[in] type The type of application
*/
- Framework(Observer& observer, int* argc, char ***argv, const std::string& name);
+ Framework( Observer& observer, int* argc, char ***argv, Type type = NORMAL );
/**
* Destructor
*/
std::string GetBundleId() const;
+ /**
+ * Gets the path at which application resources are stored.
+ */
+ static std::string GetResourcePath();
+
private:
// Undefined
Framework& operator=(Framework&);
private:
+
+ /**
+ * Called when the application is created.
+ */
+ bool Create();
+
/**
* Called by the App framework when an application lifecycle event occurs.
- * @param[in] type The type of event occurred.
+ * @param[in] type The type of event occurred.
* @param[in] bundleData The bundle data of event occurred.
*/
- bool AppStatusHandler(int type, void *bundleData);
+ bool AppStatusHandler(int type, void *bundleData);
/**
* Called app_reset callback was called with bundle.
bool mRunning;
int* mArgc;
char*** mArgv;
- std::string mName;
std::string mBundleName;
std::string mBundleId;
AbortHandler mAbortHandler;
struct Impl;
Impl* mImpl;
-
};
} // namespace Adaptor