fix appcontrol result behavior from service callee
[platform/framework/native/appfw.git] / src / app / inc / FApp_AppArg.h
old mode 100755 (executable)
new mode 100644 (file)
index 8753d82..f61782d
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
 #ifndef _FAPP_INTERNAL_APP_ARG_H_
 #define _FAPP_INTERNAL_APP_ARG_H_
 
-#include <bundle.h>
-
 #include <FBaseObject.h>
 #include <FAppTypes.h>
 
 #include "FApp_Types.h"
 
+typedef struct _bundle_t bundle;
+
 namespace Tizen { namespace Base { namespace Collection {
 class ArrayList;
 class IList;
@@ -42,6 +41,7 @@ namespace Tizen { namespace App
 {
 
 class _AppControlImpl;
+class _AppMessageImpl;
 class _SqlDataControlImpl;
 class _MapDataControlImpl;
 
@@ -64,13 +64,14 @@ enum _DataControlRequestType
 #define OSP_K_APPID         "__OSP_APPID__"
 #define OSP_K_REQUEST_ID    "__OSP_REQUEST_ID__"
 #define OSP_K_APPCONTROL_INTERNAL_OPERATION "__OSP_APPCONTROL_INTERNAL_INTERNAL_OPERATION__"
-#define OSP_K_DATACONTROL_PROVIDER      "__OSP_DATACONTROL_PROVIDER__"
+#define OSP_K_DATACONTROL_PROVIDER             "__OSP_DATACONTROL_PROVIDER__"
+#define OSP_K_DATACONTROL_DATA                 "__OSP_DATACONTROL_DATA__"
 #define OSP_K_DATACONTROL_REQUEST_TYPE  "__OSP_DATACONTROL_REQUEST_TYPE__"
+#define OSP_K_DATACONTROL_PROTOCOL_VERSION     "__OSP_DATACONTROL_PROTOCOL_VERSION__"
 
 /**
  * @class       _AppArg
  * @brief
- * @since 2.1
  */
 class _OSP_EXPORT_ _AppArg
 {
@@ -89,6 +90,8 @@ public:
 
        result Construct(const _AppControlImpl& ac, const Tizen::Base::String* pUri, const Tizen::Base::String* pMime, const Tizen::Base::Collection::IMap* pMap);
 
+       result Construct(const _AppMessageImpl& msg, const Tizen::Base::String& oId, const Tizen::Base::String* pUri, const Tizen::Base::String* pMime);
+
        result Construct(const _SqlDataControlImpl& dc, _DataControlRequestType requestType, const Tizen::Base::Collection::IList* pList);
 
        result Construct(const _MapDataControlImpl& dc, _DataControlRequestType requestType, const Tizen::Base::Collection::IList* pList);
@@ -144,6 +147,11 @@ public:
                UpdateRequestId(__pBundle, reqId);
        }
 
+       void UpdateKeyValue(const char* pKey, const Tizen::Base::String& value)
+       {
+               UpdateKeyValue(__pBundle, pKey, value);
+       }
+
        result UpdateWindowHandle(long handle)
        {
                return UpdateWindowHandle(__pBundle, handle);
@@ -169,6 +177,16 @@ public:
 
        static void UpdateRequestId(bundle* b, int reqId);
 
+       static void UpdateKeyValue(bundle* b, const char* pKey, const Tizen::Base::String& value);
+
+       static void UpdateSubMode(bundle* b);
+
+       static bool IsSubMode(bundle* b);
+
+       static void UpdateServiceApp(bundle* b);
+
+       static bool IsServiceApp(bundle* b);
+
        static result UpdateWindowHandle(bundle* b, long handle);
 
        static Tizen::Base::Collection::ArrayList* GetListN(bundle* b, const char* key);
@@ -178,12 +196,15 @@ public:
        static result FillMapFromList(Tizen::Base::Collection::IMap* pMap, const Tizen::Base::Collection::IList* pList);
 
        static result FillLegacyAppControlResult(Tizen::Base::Collection::IList& list, int res, const Tizen::Base::Collection::IMap* pMap, const Tizen::Base::String& aId);
+
+       static result SetArgMap(bundle* pBundle, Tizen::Base::Collection::HashMap* pMap);
+
 private:
        _AppArg(const _AppArg& value);
 
        _AppArg& operator =(const _AppArg& source);
 
-       static result CreateLaunchArg(bundle* b, const Tizen::Base::String& arg);
+       static result CreateNotificationArg(bundle* b, const Tizen::Base::String& arg);
 
        static result CreateLaunchArg(bundle* b, const Tizen::Base::Collection::IList* pList);
 
@@ -191,6 +212,8 @@ private:
 
        static result CreateAppControlArg(bundle* b, const _AppControlImpl& ac, const Tizen::Base::String* pUri, const Tizen::Base::String* pMime, const Tizen::Base::Collection::IMap* pList);
 
+       static result CreateAppControlArg(bundle* b, const Tizen::Base::String& oId, const Tizen::Base::String* pUri, const Tizen::Base::String* pMime, const Tizen::Base::Collection::IMap* pMap);
+
        static result CreateSqlDataControlArg(bundle* b, const _SqlDataControlImpl& dc, _DataControlRequestType requestType, const Tizen::Base::Collection::IList* pList);
 
        static result CreateMapDataControlArg(bundle* b, const _MapDataControlImpl& dc, _DataControlRequestType requestType, const Tizen::Base::Collection::IList* pList);
@@ -211,8 +234,6 @@ private:
 
        static result SetArgList(bundle* pBundle, Tizen::Base::Collection::ArrayList* pList);
 
-       static result SetArgMap(bundle* pBundle, Tizen::Base::Collection::HashMap* pList);
-
 private:
        bundle* __pBundle;
 }; // _AppArg