appfw/apparchitecture/inc/AppInfo.rh
changeset 0 2e3d3ce01487
equal deleted inserted replaced
-1:000000000000 0:2e3d3ce01487
       
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #if !defined __APPINFO_RH__
       
    17 #define __APPINFO_RH__
       
    18 
       
    19 //
       
    20 // contains definitions for the Application Information resource files
       
    21 
       
    22 /**
       
    23 @publishedAll
       
    24 @released
       
    25 */
       
    26 #define KMaxFileNameLength 256
       
    27 
       
    28 //
       
    29 // DEFINITIONS FOR THE NON-LOCALISABLE REGISTRATION RESOURCE FILE
       
    30 //
       
    31 
       
    32 /**
       
    33 @publishedAll
       
    34 @released
       
    35 */
       
    36 #define KUidAppRegistrationResourceFile 0x101f8021
       
    37 
       
    38 /**
       
    39 @publishedAll
       
    40 @released
       
    41 */
       
    42 // constants for capability.hidden
       
    43 #define KAppNotHidden	0
       
    44 #define KAppIsHidden	1
       
    45 
       
    46 /**
       
    47 @publishedAll
       
    48 @released
       
    49 */
       
    50 // constants for capability.newfile
       
    51 #define KAppDoesNotSupportNewFile	0
       
    52 #define KAppSupportsNewFile			1
       
    53 
       
    54 /**
       
    55 @publishedAll
       
    56 @released
       
    57 */
       
    58 // constants for capability.embeddability
       
    59 #define KAppNotEmbeddable				0
       
    60 #define KAppEmbeddable					1
       
    61 #define KAppEmbeddableOnly				2
       
    62 #define KAppEmbeddableUiOrStandAlone	5
       
    63 #define KAppEmbeddableUiNotStandAlone	6
       
    64 
       
    65 /**
       
    66 @publishedAll
       
    67 @released
       
    68 */
       
    69 // constants for capability.launch
       
    70 #define KAppLaunchInForeground	0
       
    71 #define KAppLaunchInBackground	1
       
    72 
       
    73 /**
       
    74 @publishedAll
       
    75 @released
       
    76 */
       
    77 // bit flags for capability.attributes
       
    78 #define KAppBuiltAsDll				0x00000001
       
    79 #define KAppIsControlPanelItem		0x00000002
       
    80 #define KAppNonNative				0x00000004
       
    81 
       
    82 /**
       
    83 @publishedAll
       
    84 @released
       
    85 */
       
    86 // application group name
       
    87 #define KAppMaxGroupName 16
       
    88 
       
    89 
       
    90 /**
       
    91 @publishedAll
       
    92 @released
       
    93 */
       
    94 STRUCT APP_REGISTRATION_INFO
       
    95 	{
       
    96 	LONG reserved_long = 0; // reserved for future use, do not use
       
    97 	LLINK reserved_llink = 0; // reserved for future use, do not use
       
    98 	//
       
    99 	LTEXT app_file(KMaxFileNameLength) = ""; // name of application binary file (not including extension) - mandatory
       
   100 	LONG attributes = 0;
       
   101 	//
       
   102 	LTEXT localisable_resource_file(KMaxFileNameLength) = ""; // path (not including drive) and name of localisable resource file
       
   103 	LONG localisable_resource_id = 1;
       
   104 	//
       
   105 	BYTE hidden = KAppNotHidden;
       
   106 	BYTE embeddability = KAppNotEmbeddable;
       
   107 	BYTE newfile = KAppDoesNotSupportNewFile;
       
   108 	BYTE launch = KAppLaunchInForeground;
       
   109 	LTEXT group_name(KAppMaxGroupName) = "";
       
   110 	//
       
   111 	BYTE default_screen_number = 0;
       
   112 	//
       
   113 	LEN WORD STRUCT datatype_list[]; // DATATYPE
       
   114 	//
       
   115 	LEN WORD STRUCT file_ownership_list[]; // FILE_OWNERSHIP_INFO
       
   116 	//
       
   117 	LEN WORD STRUCT service_list[]; // SERVICE_INFO
       
   118 	//
       
   119 	LLINK opaque_data = 0;	// use for opaque data to send to non-native application launchers i.e. MIDlet id
       
   120 	}
       
   121 
       
   122 
       
   123 /**
       
   124 @publishedAll
       
   125 @released
       
   126 */
       
   127 #define KMaxDataTypeLength 256
       
   128 
       
   129 /**
       
   130 @publishedAll
       
   131 @released
       
   132 */
       
   133 
       
   134 /* This enum is used to specify the priority at which an application can handle a particular MIME type.
       
   135    The application with the highest priority will be considered as the default application 
       
   136    for that particular MIME type.
       
   137    Default association of MIME types with applications can be overridden by user settings,
       
   138    except for applications handling data types with EDataTypePrioritySystem.
       
   139 */
       
   140 enum
       
   141 	{
       
   142 	
       
   143 	EDataTypePrioritySystem = 0xFFF9, 		// This is a special priority that overrides any user settings. 
       
   144 						    		// Applications must have EWriteDeviceData capability to use this priority. 
       
   145 						 		// If not they will be downgraded to EDataTypePriorityNormal
       
   146 	
       
   147 
       
   148 	EDataTypePriorityTrustedHigh = 0xC000, 	// Trusted applications may use this priority value to ensure that their MIME type
       
   149 								// associations cannot be overridden by self signed (untrusted) applications 
       
   150 
       
   151 
       
   152 	EDataTypePriorityHigh = 10000,		// An application at EDataTypePriorityHigh will be given higher preference for a  
       
   153 								// particular data type, than applications with EDataTypePriorityNormal
       
   154 
       
   155 
       
   156 	EDataTypePriorityNormal = 0,			// An application at EDataTypePriorityNormal will be given higher preference for a  
       
   157 								// particular data type, than applications with EDataTypePriorityLow.
       
   158 	
       
   159 	
       
   160 	EDataTypePriorityLow = -10000,		// This priority means that the data type is a secondary type for that application. 
       
   161 								// For example, "text/plain" files for a web browser	
       
   162 
       
   163 
       
   164 	EDataTypePriorityLastResort = -20000	// This priority means that the data type is a last resort for that application
       
   165 								 
       
   166 	};
       
   167 
       
   168 /**
       
   169 @publishedAll
       
   170 @released
       
   171 */
       
   172 STRUCT DATATYPE
       
   173 	{
       
   174 	LONG priority;
       
   175 	LTEXT8 type(KMaxDataTypeLength);
       
   176 	}
       
   177 
       
   178 /**
       
   179 @publishedAll
       
   180 @released
       
   181 */
       
   182 STRUCT FILE_OWNERSHIP_INFO
       
   183 	{
       
   184 	LTEXT file_name(KMaxFileNameLength);
       
   185 	}
       
   186 
       
   187 /**
       
   188 @publishedAll
       
   189 @released
       
   190 */
       
   191 STRUCT SERVICE_INFO
       
   192 	{
       
   193 	LONG uid = 0;
       
   194 	LEN WORD STRUCT datatype_list[];
       
   195 	LLINK opaque_data = 0;
       
   196 	}
       
   197 
       
   198 
       
   199 //
       
   200 // DEFINITIONS FOR THE LOCALISABLE RESOURCE FILE
       
   201 //
       
   202 
       
   203 /**
       
   204 @publishedAll
       
   205 @released
       
   206 */
       
   207 #define KMaxCaption 256
       
   208 
       
   209 /**
       
   210 @publishedAll
       
   211 @released
       
   212 */
       
   213 STRUCT LOCALISABLE_APP_INFO
       
   214 	{
       
   215 	LONG reserved_long = 0; // reserved for future use, do not use
       
   216 	LLINK reserved_llink = 0; // reserved for future use, do not use
       
   217 	//
       
   218 	LTEXT short_caption(KMaxCaption) = "";
       
   219 	STRUCT caption_and_icon; // CAPTION_AND_ICON_INFO
       
   220 	//
       
   221 	LEN WORD STRUCT view_list[]; // VIEW_DATA
       
   222 	//
       
   223 	LTEXT group_name(KAppMaxGroupName) = "";
       
   224 	}
       
   225 
       
   226 /**
       
   227 @publishedAll
       
   228 @released
       
   229 */
       
   230 STRUCT CAPTION_AND_ICON_INFO
       
   231 	{
       
   232 	LONG reserved_long = 0; // reserved for future use, do not use
       
   233 	LLINK reserved_llink = 0; // reserved for future use, do not use
       
   234 	//
       
   235 	LTEXT caption(KMaxCaption) = "";
       
   236 	//
       
   237 	WORD number_of_icons = 0; // each icon must be a bitmap/mask pair
       
   238 	LTEXT icon_file(KMaxFileNameLength) = "";
       
   239 	}
       
   240 
       
   241 /**
       
   242 @publishedAll
       
   243 @released
       
   244 */
       
   245 STRUCT VIEW_DATA
       
   246 	{
       
   247 	LONG reserved_long = 0; // reserved for future use, do not use
       
   248 	LLINK reserved_llink = 0; // reserved for future use, do not use
       
   249 	//
       
   250 	LONG uid = 0;
       
   251 	//
       
   252 	LONG screen_mode = 0;
       
   253 	//
       
   254 	STRUCT caption_and_icon; // CAPTION_AND_ICON_INFO
       
   255 	}
       
   256 
       
   257 #endif
       
   258