亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kr_plugin.h

?? 這是法國Kaleido公司提供了一個手機mmi設計平臺
?? H
字號:
/***************************************************************************
KR_Plugin.h  -
-------------------
begin                : Fri Jan 28 2005
copyright            : (C) 2005 by DigitalAirways
email                : info@digitalairways.com
***************************************************************************/

/*
* Copyright (c) 2000-2004 DigitalAirways, sarl. All Rights Reserved.
*
* This software is the confidential and proprietary information of
* DigitalAirways, sarl. ("Confidential Information").  You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with DigitalAirways.
* A copy of this license is included in the licence.txt file included
* in this software package.
*/

/*
**************************************************************
* TODO
**************************************************************

-



**************************************************************
* HISTORY
**************************************************************

-
*/

#ifndef __KR_PLUGIN__
#define __KR_PLUGIN__

#include "KR_Object.h"
#include "KR_KRuntime.h"
#include "EB_GContext.h"
#include "EB_BinReader.h"

#define STAT_EVAL_OK				0x00000000
#define STAT_EVAL_UNKNOWN_SYMBOL	0x00000001
#define STAT_EVAL_SYNTAX_ERROR		0x00000002


class KREBDLIBS_API Plugin: public Object {

protected:
	SmallArrayList* fLocalData ;

public :

	DEFINE_NEW(Plugin);
	DEFINE_DELETE(Plugin);

	Plugin(GContext* newGContext) : Object(newGContext) {
		fLocalData = NULL ;
	}

	virtual	~Plugin() {
		flushLocalData();
	}


	// BinaryMarshalizable

	virtual void complete(Serializer* /*serializer*/){}

	virtual void marshalRestore(ObjectReader* /*reader*/, long /*version*/, Group** /*previousGroup*/, View** /*previousView*/, Option** /*previousOption*/){}

	// Plugin

	virtual void postRestoreInternal(long version){
		postRestore(version);
	}

	virtual void postRestore(long /*version*/){	}

	/*
	* Local data management
	*/
/*
<kaleidoc>
<filename>Plugin</filename>
<page>
<api>
    <class>Plugin</class>
    <method>insertQueryString</method>
    <java></java>
    <cpp>void insertQueryString(char* newString)</cpp>
    <descr>
        <p>This method may be used to add/update new parameters to the current set of local parameters. It keeps pointers to the strings provided to insertQueryString. So it is important:</p>
       <itemlist>
            <item><p>not to use constant strings as source strings as they may be modified by the parser,</p></item>
           <item><p>not to delete the source strings while they are still referenced and used there.</p></item>
       </itemlist>
    </descr>
</api>
</page>
</kaleidoc>
*/
	void insertQueryString(char* newString)	{
		fLocalData = SmallArrayList::insertQueryString(newString, fLocalData);
	}

	void flushLocalData() {
		SAFE_DELETE(fLocalData) ;
	}

/*
 <kaleidoc>
<filename>Plugin</filename>
<page>
<api>
     <class>Plugin</class>
     <method>evaluateString</method>
     <java></java>
     <cpp>virtual char* Plugin::evaluateString(char* source, int *status=NULL)</cpp>
     <descr>
         <p>This method allows evaluating the string source and it returns the result of this evaluation. If status!=NULL, status will be updated by the method (cf. STAT_EVAL_xxxx in KR_Plugin.h).</p>
         <note>The ownership of source is not transferred to the method evaluateString, but the ownership of the returned value is transferred to the caller.</note>
     </descr>
 </api>
</page>
</kaleidoc>
*/
	virtual char* evaluateString(char* source, int *status=NULL)
	{
		if(status) *status=STAT_EVAL_OK ;
		return xstrdup((char*) getContext()->findData(source)) ;
	}

/*
<kaleidoc>
<filename>Plugin</filename>
<page>
<api>
    <class>Plugin</class>
    <method>findStrData</method>
    <java></java>
    <cpp>char* findStrData(char* varName, char* defValue)</cpp>
    <descr>
        <p>This method allows finding back the values currently associated to the keys in the current set of local parameters. This value is considered as a string. If there is no value currently associated to the key varName, defValue is returned.</p>
        <p>This method accepts values coded as $mycode. In this case, mycode is evaluated by Plugin::evaluateString() and findStrData() is using the GContext's tmpBuffer to store and free the value returned by evaluateString().</p>
    </descr>
</api>
</page>
</kaleidoc>
*/

	/*
	* BEWARE: this method uses the GContext's tmpBuffer.
	*/
	char* findStrData(char* varName, char* defValue)			{
		if(!fLocalData) return defValue ;
		char* val = fLocalData->findStrHTValue(varName, defValue) ;
		if(val && *val=='$')
		{
			char* rslt = evaluateString(val+1) ;
			if(!rslt) return NULL;
			char* tmp = getContext()->getTmpBuffer() ;
			strcpy(tmp, rslt) ;
			SAFE_FREE(rslt);
			return tmp ;
		}
		return val ;
	}
/*
<kaleidoc>
<filename>Plugin</filename>
<page>
<api>
    <class>Plugin</class>
    <method>findIntData</method>
    <java></java>
    <cpp>int findIntData(char* varName, int defValue)</cpp>
    <descr>
        <p>This method allows finding back the value currently associated to the keys in the current set of local parameters. This value is then converted into a integer value. If there is no value currently associated to the key varName, defValue is returned.</p>
        <p>This method accepts values coded as $mycode. In this case, mycode is evaluated by Plugin::evaluateString() and findIntData() returns the "atoi" of the result of the evaluation.</p>
    </descr>
</api>
</page>
</kaleidoc>

*/
	int findIntData(char* varName, int defValue,char** endptr = NULL)
	{
		if(!fLocalData) return defValue ;
		char* val = fLocalData->findStrHTValue(varName, NULL) ;
		if(val && *val=='$')
		{
			char* rslt = evaluateString(val+1) ;
			int iRslt = a2i(rslt,endptr);
			SAFE_DELETE(rslt);
			return iRslt ;
		}
		return fLocalData->findIntHTValue(varName, defValue, endptr) ;
	}


#ifdef DEV_CONSISTENCY
	virtual char *getInfo(int itemType, int itemIdx)
	{
		return defaultGetInfo(itemType, itemIdx);
	}
#ifdef DEV_DEBUG
	virtual void verboseInfo(int verboseLevel, char* intro)
	{
		Verbose(verboseLevel, "%s version=%s desc=%s last updted=%s\n",
			intro,
			getInfo(CSTCY_VERSION, 0),
			getInfo(CSTCY_DESCR, 0),
			getInfo(CSTCY_UPDDATE, 0)) ;
	}
#endif // def DEV_DEBUG
#endif // def DEV_CONSISTENCY

};

typedef Plugin* pPlugin ;
typedef pPlugin (*PluginInstanciator)(GContext* newGContext) ;

#endif // __KR_PLUGIN__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一道本成人在线| 中文字幕高清一区| 国产三级精品三级在线专区| 亚洲午夜免费视频| 成人一级片在线观看| 日韩三区在线观看| 一区二区不卡在线播放| 成人中文字幕电影| 亚洲精品在线三区| 日韩电影一区二区三区| 色婷婷精品大视频在线蜜桃视频| 精品第一国产综合精品aⅴ| 亚洲午夜久久久久久久久电影院| 成人av在线播放网址| 精品国产乱码久久久久久久| 男女男精品网站| 欧美日韩视频在线一区二区 | 99视频在线精品| 欧美精品一区二区久久婷婷| 亚洲成人免费观看| 欧美人与性动xxxx| 亚洲国产裸拍裸体视频在线观看乱了| 成人免费视频免费观看| 国产午夜精品一区二区| 国产麻豆午夜三级精品| 久久久久久亚洲综合| 国产制服丝袜一区| 2024国产精品| 国产精品一区二区你懂的| www欧美成人18+| 国产精品亚洲第一区在线暖暖韩国| 日韩欧美精品三级| 久久机这里只有精品| 精品av综合导航| 成人一二三区视频| 自拍偷拍国产亚洲| 色乱码一区二区三区88| 亚洲影视在线播放| 在线播放亚洲一区| 日韩国产欧美视频| 精品少妇一区二区三区| 国产精品中文字幕日韩精品| 中文字幕欧美激情| 一本久久精品一区二区 | 欧美国产禁国产网站cc| 成人动漫视频在线| 一片黄亚洲嫩模| 91精品国产91久久久久久一区二区 | 亚洲第一成年网| 日韩一二在线观看| 国产福利91精品| 亚洲欧美日韩成人高清在线一区| 精品污污网站免费看| 日本伊人精品一区二区三区观看方式| 欧美一卡二卡三卡| 成人一区二区三区视频在线观看 | 欧美经典三级视频一区二区三区| 99视频一区二区| 亚洲不卡av一区二区三区| 日韩精品专区在线影院重磅| 国产精品一区二区免费不卡| 亚洲乱码中文字幕综合| 欧美一区二区在线视频| 国产精品白丝jk黑袜喷水| 伊人色综合久久天天人手人婷| 666欧美在线视频| 东方aⅴ免费观看久久av| 亚洲图片欧美视频| 久久久www免费人成精品| 色综合天天综合网天天看片| 日韩av午夜在线观看| 国产精品国产三级国产普通话三级 | 热久久免费视频| 中文字幕精品综合| 日韩一区二区三区视频| 91啪在线观看| 国产精华液一区二区三区| 性久久久久久久久| 亚洲欧美另类小说| 国产视频一区在线播放| 欧美精品vⅰdeose4hd| 成人h动漫精品一区二区| 蜜臀av一级做a爰片久久| 亚洲免费观看高清完整| 国产性做久久久久久| 欧美一级片免费看| 在线观看国产一区二区| 国产成人自拍网| 开心九九激情九九欧美日韩精美视频电影| 综合亚洲深深色噜噜狠狠网站| 精品美女在线播放| 欧美一区二区视频在线观看2022| 日本韩国精品一区二区在线观看| 国产a精品视频| 国产一本一道久久香蕉| 美女一区二区三区| 日本中文字幕一区| 日韩电影网1区2区| 日韩国产在线一| 亚洲超碰精品一区二区| 亚洲午夜在线电影| 亚洲一区国产视频| 亚洲伊人伊色伊影伊综合网| 亚洲欧美aⅴ...| 亚洲欧美在线高清| ...中文天堂在线一区| 国产欧美日韩亚州综合| 久久精品无码一区二区三区| 日韩亚洲欧美中文三级| 69p69国产精品| 91精品国产色综合久久| 日韩一区二区视频在线观看| 91精品欧美一区二区三区综合在| 色域天天综合网| 欧美怡红院视频| 欧美日韩一区二区电影| 欧美系列一区二区| 欧美精品v日韩精品v韩国精品v| 91精品国产色综合久久| 精品国产免费久久| 欧美激情一二三区| 亚洲色图视频免费播放| 亚洲综合一区二区三区| 午夜精品福利视频网站| 人禽交欧美网站| 国产成人一区二区精品非洲| 成人av电影免费在线播放| 99re这里只有精品6| 91国偷自产一区二区三区观看| 欧美性猛片aaaaaaa做受| 91麻豆精品国产综合久久久久久 | 欧美精品777| 日韩女优制服丝袜电影| 国产日韩精品视频一区| 中文字幕欧美一区| 亚洲成人精品在线观看| 极品尤物av久久免费看| 成人精品国产福利| 欧美体内she精视频| 精品日韩欧美一区二区| 国产精品久久久久久久久免费樱桃 | 成人动漫av在线| 在线一区二区视频| 日韩欧美激情在线| 亚洲人成亚洲人成在线观看图片| 偷拍日韩校园综合在线| 国产精品一区免费视频| 欧美在线不卡一区| 欧美大黄免费观看| 亚洲蜜桃精久久久久久久| 美腿丝袜亚洲一区| 97se狠狠狠综合亚洲狠狠| 日韩精品在线一区| 亚洲精品菠萝久久久久久久| 免费不卡在线视频| 91麻豆成人久久精品二区三区| 69精品人人人人| 日韩伦理电影网| 极品美女销魂一区二区三区免费| 91麻豆国产在线观看| 久久亚洲综合色一区二区三区| 一区二区高清免费观看影视大全| 国产呦萝稀缺另类资源| 欧美日韩一区中文字幕| 国产精品午夜在线| 久久精品国产**网站演员| 在线观看日韩电影| 国产精品污www在线观看| 日本成人在线电影网| 91国偷自产一区二区开放时间 | 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产一级精品在线| 欧美高清视频一二三区 | 国产精品一级片在线观看| 欧美丝袜自拍制服另类| 中文字幕在线观看不卡| 精品在线免费观看| 欧美福利视频一区| 亚洲女人的天堂| 成人午夜激情视频| 亚洲精品在线观看网站| 美女视频黄a大片欧美| 欧美日韩精品一区二区三区四区 | 日韩在线a电影| 欧美日韩国产乱码电影| 亚洲欧美另类久久久精品| 国产成人在线观看免费网站| www国产亚洲精品久久麻豆| 久久精品噜噜噜成人av农村| 欧美精品 国产精品| 亚洲国产成人va在线观看天堂| 91丝袜国产在线播放| 亚洲欧洲韩国日本视频| 91小视频在线免费看| 国产精品国产三级国产aⅴ中文 | 国产精品一区二区x88av| 欧美成人官网二区| 蜜臀a∨国产成人精品| 欧美一区二区三区思思人| 日韩成人免费看|