Ejemplo n.º 1
0
static Err GetPhoneLib(UInt16* refNum, Boolean* fNeedToRemove)
{
    *fNeedToRemove = false;
    Err error=SysLibFind(phnLibCDMAName, refNum);
    if (error)
        error=SysLibFind(phnLibGSMName, refNum);
    if (error)
    {
        error=SysLibLoad(phnLibDbType, phnLibCDMADbCreator, refNum);
        if (error)
            error=SysLibLoad(phnLibDbType, phnLibGSMDbCreator, refNum);
        if (!error)
            *fNeedToRemove=true;
    }
    return error;
}
Ejemplo n.º 2
0
/**
 * Performs detection and initialization of Sony CLIE-specific features.
 * @param diaSettings structure used to store detected configuration.
 * @return error code.
 */
static Err SonySilkLibInit(DIA_Settings* diaSettings) 
{
    UInt32  vskVersion=0;
    Err     error=SysLibFind(sonySysLibNameSilk, &diaSettings->sonySilkLibRefNum);

    if (sysErrLibNotFound==error) {
        error=SysLibLoad('libr', sonySysFileCSilkLib, &diaSettings->sonySilkLibRefNum);
        if (!error) DIA_SetFlag(diaSettings, diaLoadedSonySilkLib);
    }
    if (!error) {
        DIA_SetFlag(diaSettings, diaHasSonySilkLib);
        error = FtrGet(sonySysFtrCreator, sonySysFtrNumVskVersion, &vskVersion);
        if (error) {
            error=SilkLibOpen(diaSettings->sonySilkLibRefNum);
            if (error) goto OnError;
            SilkLibEnableResize(diaSettings->sonySilkLibRefNum);
        }
        else if (vskVersionNum2==vskVersion) {
            error=VskOpen(diaSettings->sonySilkLibRefNum);
            if (error) goto OnError;
            VskSetState(diaSettings->sonySilkLibRefNum, vskStateEnable, vskResizeVertically);			
        }
        else {
            error=VskOpen(diaSettings->sonySilkLibRefNum);
            if (error) goto OnError;
            VskSetState(diaSettings->sonySilkLibRefNum, vskStateEnable, vskResizeHorizontally);			
        }
    }
    else error=errNone;
OnError:
    return error;
}
Ejemplo n.º 3
0
/* try to load the AxxPac library to check if AxxPac is present */
Int16 LoadAxxPac(void)
{
    Err err;

    /* try to open already installed axxPac driver lib */
    err = SysLibFind(AXXPAC_LIB_NAME, &LibRef);

    /* didn't work, try to load it */
    if ( err != errNone )
        err = SysLibLoad('libr', AXXPAC_LIB_CREATOR, &LibRef);

    if ( err != errNone ) {
        /* ERROR: unable to access library */
        axxPacStatus = AXXPAC_NOT_PRESENT;
    }
    else {
        /* try to open lib */
        if ( axxPacLibOpen(LibRef) != 0 ) {
            /* ERROR: unable to open library */
            axxPacStatus = AXXPAC_NOT_PRESENT;
        }
        else {
            axxPacStatus = AXXPAC_PRESENT;
        }
    }
    return axxPacStatus;
}
Ejemplo n.º 4
0
bool MsaCDPlayer::init() {
	SonySysFtrSysInfoP sonySysFtrSysInfoP;
	Err error = errNone;

	if (!(error = FtrGet(sonySysFtrCreator, sonySysFtrNumSysInfoP, (UInt32*)&sonySysFtrSysInfoP))) {
		// not found with audio adapter ?!
		//if (sonySysFtrSysInfoP->libr & sonySysFtrSysInfoLibrMsa) {
			if ((error = SysLibFind(sonySysLibNameMsa, &_msaRefNum)))
				if (error == sysErrLibNotFound)
					error = SysLibLoad(sonySysFileTMsaLib, sonySysFileCMsaLib, &_msaRefNum);

			// FIXME : still don't understand how this lib works, it seems to be very unstable
			// and with the very bad documentation provided by Sony it's difficult to find out why
			// this doesn't work the same way on build-in MP3 device and external MP3 devices
			if (!error) {
				//MsaLibClose(_msaRefNum, msaLibOpenModeAlbum);	// close the lib if we previously let it open (?) Need to add Notify for sonySysNotifyMsaEnforceOpenEvent just in case ...
				error = MsaLibOpen(_msaRefNum, msaLibOpenModeAlbum);

				//if (error == msaErrAlreadyOpen)
				//	error = MsaLibEnforceOpen(_msaRefNum, msaLibOpenModeAlbum, appFileCreator);

				//error = (error != msaErrStillOpen) ? error : errNone;
			}
		//}
	}

//	if (error)
//		_msaRefNum = sysInvalidRefNum;

	_isInitialized = (_msaRefNum != sysInvalidRefNum);
	initInternal();
	return _isInitialized;
}
Ejemplo n.º 5
0
static DIAHardwareType InitializeSony( void )
{
    Err    err;
    UInt32 version;

    err = SysLibFind( sonySysLibNameSilk, &sonyRefNum );
    if ( err == sysErrLibNotFound ) {
        err = SysLibLoad( 'libr', sonySysFileCSilkLib, &sonyRefNum );
    }
    if ( err != errNone )
        return DIA_HARDWARE_NONE;
    if ( errNone == FtrGet( sonySysFtrCreator, sonySysFtrNumVskVersion, 
                        &version ) ) {
        /* Version 2 and up */
        err = VskOpen( sonyRefNum );
        if ( errNone == err )
            return DIA_HARDWARE_SONY2;
    }
    else {
        /* Version 1 and up */
        err = SilkLibOpen( sonyRefNum );
        if ( errNone == err ) {
            /* Make sure we are in a Hi-Res mode */
            UInt32 width;
            UInt32 height;
            UInt16 sonyHiResRefNum;

            err = SysLibFind( sonySysLibNameHR, &sonyHiResRefNum );
            if ( err == sysErrLibNotFound )
                err = SysLibLoad( 'libr', sonySysFileCHRLib, &sonyHiResRefNum );
            if ( err == errNone ) {
                err = HROpen( sonyHiResRefNum );
                HRWinScreenMode( sonyHiResRefNum, winScreenModeGet, &width,
                     &height, NULL, NULL );
                HRClose( sonyHiResRefNum );
                if ( width < 320 )
                    return DIA_HARDWARE_NONE;
            }
            else
                return DIA_HARDWARE_NONE;
            }
        return DIA_HARDWARE_SONY1;
    }
    return DIA_HARDWARE_NONE;
}
Ejemplo n.º 6
0
/*
 * ClibLoad
 * 装载并初始化通讯录拼音查找库
 *
 * 参数:
 *	refNumP			<->	给予的UInt16指针,用于返回查找库的引用
 *	clientContextP	<->	给予的UInt32指针,用于返回clientContext
 *
 * 返回:
 *	当成功装载并初始化时,返回errNone;否则返回对应的错误代码
 */
Err CLibLoad(UInt16 *refNumP, UInt32 *clientContextP)
{
	UInt16	error = CNLB_RUNTIME_ERROR;
	
	if (SysLibLoad(CLibTypeID, CLibCreatorID, refNumP) == errNone)
	{
		error = CLibOpen((*refNumP), clientContextP);
	}
	
	return error;
}
Ejemplo n.º 7
0
Err ZDicToolsLibInitial(UInt32 libType, UInt32 libCreator, const Char *nameP,
	UInt16 *refNumP, Boolean *bLoadP)
{
	Err	err;
	
	*refNumP = 0;
	*bLoadP = false;
	
	err = SysLibFind(nameP, refNumP);
	if(err)
		{  
		err = SysLibLoad(libType, libCreator, refNumP);
		if (!err)
			*bLoadP = true;
		}
	
	return err;
}
Ejemplo n.º 8
0
Boolean
SonySilk(void)
{
	Err error = errNone;
	UInt32 version;
	UInt16		cardNo;
	LocalID		dbID;

	if (silk_ref != -1)
		return (silk_ref != 0);

	if (SysLibFind(sonySysLibNameSilk, &silk_ref)) {
		error = SysLibLoad('libr', sonySysFileCSilkLib, &silk_ref);
	}
	if (error == sysErrLibNotFound || silk_ref == -1) {
		silk_ref = 0;
		return (0);
	}
	WriteLog("found sony silk library ");

	error = FtrGet(sonySysFtrCreator, sonySysFtrNumVskVersion, &version);
	if (error || !version) {
		silk_ver = 0;
		SilkLibOpen(silk_ref);
	} else {
		VskOpen(silk_ref);
		silk_ver = VskGetAPIVersion(silk_ref);
	}

	WriteLog("version: %d\n", silk_ver);

	SonySetSilkResizable(true);

	SysCurAppDatabase(&cardNo, &dbID);
	SysNotifyRegister(cardNo, dbID, sysNotifyDisplayChangeEvent,
	    SonyNotifyHook, sysNotifyNormalPriority, NULL);


	return (silk_ref != 0);
}
Ejemplo n.º 9
0
Err
loadHiRes(void)
{
	SonySysFtrSysInfoP sonySysFtrSysInfoP;
	Err error = 0;
	UInt16 refNum;

	if (highDensityFeatureSet() != 0)
		return (errNone);
	if ((error = FtrGet(sonySysFtrCreator,
		sonySysFtrNumSysInfoP, (UInt32*)&sonySysFtrSysInfoP))) {
		/* Not CLIE: maybe not available */
	} else {
		if (sonySysFtrSysInfoP->libr & sonySysFtrSysInfoLibrHR) {
			/* HR available */
			if ((error = SysLibFind(sonySysLibNameHR, &refNum))) {
				if (error == sysErrLibNotFound) {
				/* couldn't find lib */
				error = SysLibLoad('libr', sonySysFileCHRLib,
				    &refNum);
				}
				if (!error) didl = 1;
			}
			if (!error) {
				hires = refNum;
				/* Now we can use HR lib */
				HROpen(hires);
			}
			ErrFatalDisplayIf(error, "could not load hires lib");
		}
	}
	if (!error)
		error = goHires();

	return (error);
}