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