File Manager / inc /
main-app.h
/*
* Copyright 2014 Samsung Electronics Co., Ltd All Rights Reserved
*
* 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 __MAIN_APP_H__
#define __MAIN_APP_H__
#include <Evas.h>
/* Forward declaration: */
struct _fs_manager;
struct _window_obj;
struct _clipboard;
struct _navi_path_widget;
struct _navigator;
struct _navi_path_storage;
typedef enum {
MODE_DEFAULT = 0,
MODE_EDIT
} mode;
/**
* @brief Application status data
*/
typedef struct _status {
mode curr_mode; /**< Current app mode */
Eina_Bool is_mainview; /**< Current view is main view or not */
} status_data;
/**
* @brief Application data
*/
typedef struct _app_data {
struct _window_obj *win; /**< Window object */
struct _fs_manager *manager; /**< File managet object */
struct _clipboard *clipboard; /**< Clipboard object */
struct _navigator *navigator; /**< Navigator object */
struct _navi_path_storage *path_storage;/**< Path storage object */
Evas_Object *navi; /**< Naviframe object */
status_data status; /**< App status object */
} app_data;
/**
* @brief Create application instance
* @return Application instance on success, otherwise NULL
*/
app_data *app_create();
/**
* @brief Destroy application instance
* @param[in] app Application instance
*/
void app_destroy(app_data *app);
/**
* @brief Run Tizen application
* @param[in] app Application instance
* @param[in] argc argc paremeter received in main
* @param[in] argv argv parameter received in main
*/
int app_run(app_data *app, int argc, char **argv);
#endif // __MAIN_APP_H__