gps/GPSResources/tcpmp/common/context.h

103 lines
2.6 KiB
C
Executable File

/*****************************************************************************
*
* This program is free software ; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: context.h 618 2006-01-28 12:22:07Z picard $
*
* The Core Pocket Media Player
* Copyright (c) 2004-2005 Gabor Kovacs
*
****************************************************************************/
#ifndef __CONTEXT_H
#define __CONTEXT_H
#define CONTEXT_VERSION 0x210
typedef int (*notifyfunc)(void* This,int Param,int Param2);
typedef struct notify
{
notifyfunc Func;
void* This;
} notify;
typedef struct context
{
int Version;
uint32_t ProgramId;
const tchar_t* ProgramName;
const tchar_t* ProgramVersion;
const tchar_t* CmdLine;
void* Wnd;
void* NodeLock;
array Node;
array NodeClass; // ordered by id
array NodeClassPri; // ordered by priority|id
array NodeModule;
int LoadModuleNo;
void* LoadModule;
array StrTable[2];
array StrBuffer;
array StrModule;
void* StrLock;
uint32_t Lang;
int CodePage;
struct pcm_soft* PCM;
struct blitpack* Blit;
struct node* Platform;
struct node* Advanced;
struct node* Player;
notify Error;
int (*HwOrientation)(void*);
void *HwOrientationContext;
bool_t TryDynamic;
int SettingsPage;
size_t StartUpMemory;
bool_t InHibernate;
bool_t WaitDisable;
int FtrId;
bool_t LowMemory;
bool_t CodeFailed;
bool_t CodeMoveBack;
bool_t CodeDelaySlot;
void* CodeLock;
void* CodeInstBegin;
void* CodeInstEnd;
int NextCond;
bool_t NextSet;
bool_t NextByte;
bool_t NextHalf;
bool_t NextSign;
uint32_t* FlushCache;
void* CharConvertUTF8;
void* CharConvertCustom;
int CustomCodePage;
void* CharConvertAscii;
void* Application;
void* Logger;
bool_t KeepDisplay;
int DisableOutOfMemory;
} context;
DLL bool_t Context_Init(const tchar_t* Name,const tchar_t* Version,int Id,const tchar_t* CmdLine,void* Application);
DLL void Context_Done();
DLL void Context_Wnd(void*);
DLL context* Context();
#endif