mirror of https://github.com/axmolengine/axmol.git
Merge commit 'b7b21f3dc2e2c541a06fdd381b6b43d213a90093' into gles20
This commit is contained in:
commit
160b0aba88
5
AUTHORS
5
AUTHORS
|
@ -69,7 +69,10 @@ Developers:
|
|||
author of CCControlExtension of cocos2d-iphone port.
|
||||
|
||||
Angus Comrie
|
||||
contributes cocos2d-x port of CCControlExtension
|
||||
contributes cocos2d-x port of CCControlExtension.
|
||||
|
||||
NetGragon
|
||||
contributes CCListView and CCTextureWatcher.
|
||||
|
||||
Cocos2d-x can not grow so fast without the active community.
|
||||
Thanks to all developers who report & trace bugs, dicuss the engine usage in forum & QQ groups!
|
||||
|
|
|
@ -2,7 +2,7 @@ LOCAL_PATH := $(call my-dir)
|
|||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := box2d_shared
|
||||
LOCAL_MODULE := box2d_static
|
||||
|
||||
LOCAL_MODULE_FILENAME := libbox2d
|
||||
|
||||
|
@ -57,4 +57,4 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/..
|
|||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
@ -85,7 +85,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := cocosdenshion_shared
|
||||
LOCAL_MODULE := cocosdenshion_static
|
||||
|
||||
LOCAL_MODULE_FILENAME := libcocosdenshion
|
||||
|
||||
|
@ -10,8 +10,12 @@ jni/SimpleAudioEngineJni.cpp
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../include
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include \
|
||||
$(LOCAL_PATH)/../../cocos2dx/include \
|
||||
$(LOCAL_PATH)/../../cocos2dx/platform \
|
||||
$(LOCAL_PATH)/../../cocos2dx/platform/android \
|
||||
$(LOCAL_PATH)/../../cocos2dx/platform/android/jni
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "SimpleAudioEngineJni.h"
|
||||
#include "JniHelper.h"
|
||||
|
||||
#include <android/log.h>
|
||||
|
||||
#define LOG_TAG "libSimpleAudioEngine"
|
||||
|
@ -6,43 +8,59 @@
|
|||
#define CLASS_NAME "org/cocos2dx/lib/Cocos2dxActivity"
|
||||
|
||||
typedef struct JniMethodInfo_
|
||||
{
|
||||
JNIEnv * env;
|
||||
jclass classID;
|
||||
jmethodID methodID;
|
||||
} JniMethodInfo;
|
||||
{
|
||||
JNIEnv * env;
|
||||
jclass classID;
|
||||
jmethodID methodID;
|
||||
} JniMethodInfo;
|
||||
|
||||
|
||||
extern "C"
|
||||
{
|
||||
static JavaVM *gJavaVM = 0;
|
||||
|
||||
jint JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
gJavaVM = vm;
|
||||
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
|
||||
// get env and cache it
|
||||
static JNIEnv* getJNIEnv(void)
|
||||
{
|
||||
JNIEnv *env = 0;
|
||||
|
||||
|
||||
JavaVM* jvm = cocos2d::JniHelper::getJavaVM();
|
||||
if (NULL == jvm) {
|
||||
LOGD("Failed to get JNIEnv. JniHelper::getJavaVM() is NULL");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
JNIEnv *env = NULL;
|
||||
// get jni environment
|
||||
if (gJavaVM->GetEnv((void**)&env, JNI_VERSION_1_4) != JNI_OK)
|
||||
{
|
||||
LOGD("Failed to get the environment using GetEnv()");
|
||||
jint ret = jvm->GetEnv((void**)&env, JNI_VERSION_1_4);
|
||||
|
||||
switch (ret) {
|
||||
case JNI_OK :
|
||||
// Success!
|
||||
return env;
|
||||
|
||||
case JNI_EDETACHED :
|
||||
// Thread not attached
|
||||
|
||||
// TODO : If calling AttachCurrentThread() on a native thread
|
||||
// must call DetachCurrentThread() in future.
|
||||
// see: http://developer.android.com/guide/practices/design/jni.html
|
||||
|
||||
if (jvm->AttachCurrentThread(&env, NULL) < 0)
|
||||
{
|
||||
LOGD("Failed to get the environment using AttachCurrentThread()");
|
||||
return NULL;
|
||||
} else {
|
||||
// Success : Attached and obtained JNIEnv!
|
||||
return env;
|
||||
}
|
||||
|
||||
case JNI_EVERSION :
|
||||
// Cannot recover from this error
|
||||
LOGD("JNI interface version 1.4 not supported");
|
||||
default :
|
||||
LOGD("Failed to get the environment using GetEnv()");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (gJavaVM->AttachCurrentThread(&env, 0) < 0)
|
||||
{
|
||||
LOGD("Failed to get the environment using AttachCurrentThread()");
|
||||
}
|
||||
|
||||
return env;
|
||||
}
|
||||
|
||||
|
||||
// get class and make it a global reference, release it at endJni().
|
||||
static jclass getClassID(JNIEnv *pEnv)
|
||||
{
|
||||
|
@ -51,16 +69,16 @@ extern "C"
|
|||
{
|
||||
LOGD("Failed to find class of %s", CLASS_NAME);
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static bool getStaticMethodInfo(JniMethodInfo &methodinfo, const char *methodName, const char *paramCode)
|
||||
{
|
||||
jmethodID methodID = 0;
|
||||
JNIEnv *pEnv = 0;
|
||||
bool bRet = false;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
pEnv = getJNIEnv();
|
||||
|
@ -68,357 +86,357 @@ extern "C"
|
|||
{
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
jclass classID = getClassID(pEnv);
|
||||
|
||||
|
||||
methodID = pEnv->GetStaticMethodID(classID, methodName, paramCode);
|
||||
if (! methodID)
|
||||
{
|
||||
LOGD("Failed to find static method id of %s", methodName);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
methodinfo.classID = classID;
|
||||
methodinfo.env = pEnv;
|
||||
methodinfo.methodID = methodID;
|
||||
|
||||
|
||||
bRet = true;
|
||||
} while (0);
|
||||
|
||||
|
||||
return bRet;
|
||||
}
|
||||
|
||||
|
||||
void preloadBackgroundMusicJNI(const char *path)
|
||||
{
|
||||
// void playBackgroundMusic(String,boolean)
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "preloadBackgroundMusic", "(Ljava/lang/String;)V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
jstring stringArg = methodInfo.env->NewStringUTF(path);
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, stringArg);
|
||||
methodInfo.env->DeleteLocalRef(stringArg);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void playBackgroundMusicJNI(const char *path, bool isLoop)
|
||||
{
|
||||
// void playBackgroundMusic(String,boolean)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "playBackgroundMusic", "(Ljava/lang/String;Z)V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
jstring stringArg = methodInfo.env->NewStringUTF(path);
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, stringArg, isLoop);
|
||||
methodInfo.env->DeleteLocalRef(stringArg);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void stopBackgroundMusicJNI()
|
||||
{
|
||||
// void stopBackgroundMusic()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "stopBackgroundMusic", "()V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void pauseBackgroundMusicJNI()
|
||||
{
|
||||
// void pauseBackgroundMusic()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "pauseBackgroundMusic", "()V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void resumeBackgroundMusicJNI()
|
||||
{
|
||||
// void resumeBackgroundMusic()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "resumeBackgroundMusic", "()V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void rewindBackgroundMusicJNI()
|
||||
{
|
||||
// void rewindBackgroundMusic()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "rewindBackgroundMusic", "()V"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
bool isBackgroundMusicPlayingJNI()
|
||||
{
|
||||
// boolean rewindBackgroundMusic()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
jboolean ret = false;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "isBackgroundMusicPlaying", "()Z"))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
ret = methodInfo.env->CallStaticBooleanMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
float getBackgroundMusicVolumeJNI()
|
||||
{
|
||||
// float getBackgroundMusicVolume()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
jfloat ret = -1.0;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "getBackgroundMusicVolume", "()F"))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
ret = methodInfo.env->CallStaticFloatMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void setBackgroundMusicVolumeJNI(float volume)
|
||||
{
|
||||
// void setBackgroundMusicVolume()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "setBackgroundMusicVolume", "(F)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, volume);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
unsigned int playEffectJNI(const char* path, bool bLoop)
|
||||
{
|
||||
// int playEffect(String)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
int ret = 0;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "playEffect", "(Ljava/lang/String;Z)I"))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
jstring stringArg = methodInfo.env->NewStringUTF(path);
|
||||
ret = methodInfo.env->CallStaticIntMethod(methodInfo.classID, methodInfo.methodID, stringArg, bLoop);
|
||||
methodInfo.env->DeleteLocalRef(stringArg);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
|
||||
|
||||
return (unsigned int)ret;
|
||||
}
|
||||
|
||||
|
||||
void stopEffectJNI(unsigned int nSoundId)
|
||||
{
|
||||
// void stopEffect(int)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "stopEffect", "(I)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, (int)nSoundId);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void endJNI()
|
||||
{
|
||||
// void end()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "end", "()V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
float getEffectsVolumeJNI()
|
||||
{
|
||||
// float getEffectsVolume()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
jfloat ret = -1.0;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "getEffectsVolume", "()F"))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
ret = methodInfo.env->CallStaticFloatMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void setEffectsVolumeJNI(float volume)
|
||||
{
|
||||
// void setEffectsVolume(float)
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "setEffectsVolume", "(F)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, volume);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void preloadEffectJNI(const char *path)
|
||||
{
|
||||
// void preloadEffect(String)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "preloadEffect", "(Ljava/lang/String;)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
jstring stringArg = methodInfo.env->NewStringUTF(path);
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, stringArg);
|
||||
methodInfo.env->DeleteLocalRef(stringArg);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void unloadEffectJNI(const char* path)
|
||||
{
|
||||
// void unloadEffect(String)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "unloadEffect", "(Ljava/lang/String;)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
jstring stringArg = methodInfo.env->NewStringUTF(path);
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, stringArg);
|
||||
methodInfo.env->DeleteLocalRef(stringArg);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void pauseEffectJNI(unsigned int nSoundId)
|
||||
{
|
||||
// void pauseEffect(int)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "pauseEffect", "(I)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, (int)nSoundId);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void pauseAllEffectsJNI()
|
||||
{
|
||||
// void pauseAllEffects()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "pauseAllEffects", "()V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void resumeEffectJNI(unsigned int nSoundId)
|
||||
{
|
||||
// void resumeEffect(int)
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "resumeEffect", "(I)V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, (int)nSoundId);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void resumeAllEffectsJNI()
|
||||
{
|
||||
// void resumeAllEffects()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "resumeAllEffects", "()V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
||||
|
||||
void stopAllEffectsJNI()
|
||||
{
|
||||
// void stopAllEffects()
|
||||
|
||||
|
||||
JniMethodInfo methodInfo;
|
||||
|
||||
|
||||
if (! getStaticMethodInfo(methodInfo, "stopAllEffects", "()V"))
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
|
||||
methodInfo.env->DeleteLocalRef(methodInfo.classID);
|
||||
}
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := game_logic_static
|
||||
|
||||
LOCAL_MODULE_FILENAME := libgame_logic
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
AppDelegate.cpp \
|
||||
../../lua/cocos2dx_support/CCLuaEngine.cpp \
|
||||
../../lua/cocos2dx_support/Cocos2dxLuaLoader.cpp \
|
||||
../../lua/cocos2dx_support/LuaCocos2d.cpp \
|
||||
../../lua/cocos2dx_support/tolua_fix.c
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := cocosdenshion_shared lua_shared
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
|
|
@ -34,44 +34,6 @@ AppDelegate::~AppDelegate()
|
|||
//CCScriptEngineManager::purgeSharedManager();
|
||||
}
|
||||
|
||||
bool AppDelegate::initInstance()
|
||||
{
|
||||
bool bRet = false;
|
||||
do
|
||||
{
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
||||
|
||||
// Initialize OpenGLView instance, that release by CCDirector when application terminate.
|
||||
// The HelloWorld is designed as HVGA.
|
||||
CCEGLView * pMainWnd = new CCEGLView();
|
||||
CC_BREAK_IF(! pMainWnd
|
||||
|| ! pMainWnd->Create(TEXT("cocos2d: Hello World"), CC_WIDTH, CC_HEIGHT));
|
||||
|
||||
#endif // CC_PLATFORM_WIN32
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
|
||||
|
||||
// OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here.
|
||||
|
||||
#endif // CC_PLATFORM_IOS
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
|
||||
|
||||
// OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp
|
||||
// the default setting is to create a fullscreen view
|
||||
// if you want to use auto-scale, please enable view->create(320,480) in main.cpp
|
||||
|
||||
#endif // CC_PLATFORM_ANDROID
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE)
|
||||
// MaxAksenov said it's NOT a very elegant solution. I agree, haha
|
||||
CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
|
||||
#endif
|
||||
bRet = true;
|
||||
} while (0);
|
||||
return bRet;
|
||||
}
|
||||
|
||||
bool AppDelegate::applicationDidFinishLaunching()
|
||||
{
|
||||
// initialize director
|
||||
|
|
|
@ -14,11 +14,6 @@ public:
|
|||
AppDelegate();
|
||||
virtual ~AppDelegate();
|
||||
|
||||
/**
|
||||
@brief Implement for initialize OpenGL instance, set source path, etc...
|
||||
*/
|
||||
virtual bool initInstance();
|
||||
|
||||
/**
|
||||
@brief Implement CCDirector and CCScene init code here.
|
||||
@return true Initialize success, app continue.
|
||||
|
|
|
@ -1,16 +1,42 @@
|
|||
# set params
|
||||
NDK_ROOT_LOCAL=/cygdrive/e/android/android-ndk-r7b
|
||||
COCOS2DX_ROOT_LOCAL=/cygdrive/f/Project/dumganhar/cocos2d-x
|
||||
NDK_ROOT_LOCAL=/cygdrive/d/programe/android/ndk/android-ndk-r7b
|
||||
COCOS2DX_ROOT_LOCAL=/cygdrive/e/cocos2d-x
|
||||
|
||||
buildexternalsfromsource=
|
||||
|
||||
usage(){
|
||||
cat << EOF
|
||||
usage: $0 [options]
|
||||
|
||||
Build C/C++ native code using Android NDK
|
||||
|
||||
OPTIONS:
|
||||
-s Build externals from source
|
||||
-h this help
|
||||
EOF
|
||||
}
|
||||
|
||||
while getopts "s" OPTION; do
|
||||
case "$OPTION" in
|
||||
s)
|
||||
buildexternalsfromsource=1
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# try to get global variable
|
||||
if [ $NDK_ROOT"aaa" != "aaa" ]; then
|
||||
echo "use global definition of NDK_ROOT: $NDK_ROOT"
|
||||
NDK_ROOT_LOCAL=$NDK_ROOT
|
||||
echo "use global definition of NDK_ROOT: $NDK_ROOT"
|
||||
NDK_ROOT_LOCAL=$NDK_ROOT
|
||||
fi
|
||||
|
||||
if [ $COCOS2DX_ROOT"aaa" != "aaa" ]; then
|
||||
echo "use global definition of COCOS2DX_ROOT: $COCOS2DX_ROOT"
|
||||
COCOS2DX_ROOT_LOCAL=$COCOS2DX_ROOT
|
||||
echo "use global definition of COCOS2DX_ROOT: $COCOS2DX_ROOT"
|
||||
COCOS2DX_ROOT_LOCAL=$COCOS2DX_ROOT
|
||||
fi
|
||||
|
||||
GAME_ROOT=$COCOS2DX_ROOT_LOCAL/HelloLua
|
||||
|
@ -19,7 +45,7 @@ GAME_RESOURCE_ROOT=$GAME_ROOT/Resources
|
|||
|
||||
# make sure assets is exist
|
||||
if [ -d $GAME_ANDROID_ROOT/assets ]; then
|
||||
rm -rf $GAME_ANDROID_ROOT/assets
|
||||
rm -rf $GAME_ANDROID_ROOT/assets
|
||||
fi
|
||||
|
||||
mkdir $GAME_ANDROID_ROOT/assets
|
||||
|
@ -27,17 +53,22 @@ mkdir $GAME_ANDROID_ROOT/assets
|
|||
# copy resources
|
||||
for file in $GAME_RESOURCE_ROOT/*
|
||||
do
|
||||
if [ -d $file ]; then
|
||||
cp -rf $file $GAME_ANDROID_ROOT/assets
|
||||
fi
|
||||
if [ -d $file ]; then
|
||||
cp -rf $file $GAME_ANDROID_ROOT/assets
|
||||
fi
|
||||
|
||||
if [ -f $file ]; then
|
||||
cp $file $GAME_ANDROID_ROOT/assets
|
||||
fi
|
||||
if [ -f $file ]; then
|
||||
cp $file $GAME_ANDROID_ROOT/assets
|
||||
fi
|
||||
done
|
||||
|
||||
# build
|
||||
pushd $NDK_ROOT_LOCAL
|
||||
./ndk-build -C $GAME_ANDROID_ROOT $*
|
||||
popd
|
||||
|
||||
if [[ $buildexternalsfromsource ]]; then
|
||||
echo "Building external dependencies from source"
|
||||
$NDK_ROOT_LOCAL/ndk-build -C $GAME_ANDROID_ROOT $* \
|
||||
NDK_MODULE_PATH=${COCOS2DX_ROOT_LOCAL}:${COCOS2DX_ROOT_LOCAL}/cocos2dx/platform/third_party/android/source
|
||||
else
|
||||
echo "Using prebuilt externals"
|
||||
$NDK_ROOT_LOCAL/ndk-build -C $GAME_ANDROID_ROOT $* \
|
||||
NDK_MODULE_PATH=${COCOS2DX_ROOT_LOCAL}:${COCOS2DX_ROOT_LOCAL}/cocos2dx/platform/third_party/android/prebuilt
|
||||
fi
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*
|
||||
* This class was automatically generated by the
|
||||
* aapt tool from the resource data it found. It
|
||||
* should not be modified by hand.
|
||||
*/
|
||||
|
||||
package org.cocos2dx.hellolua;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int icon=0x7f020000;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int test_demo_gl_surfaceview=0x7f050001;
|
||||
public static final int textField=0x7f050000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int game_demo=0x7f030000;
|
||||
}
|
||||
public static final class string {
|
||||
public static final int app_name=0x7f040000;
|
||||
}
|
||||
}
|
||||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*
|
||||
* This class was automatically generated by the
|
||||
* aapt tool from the resource data it found. It
|
||||
* should not be modified by hand.
|
||||
*/
|
||||
|
||||
package org.cocos2dx.hellolua;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int icon=0x7f020000;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int test_demo_gl_surfaceview=0x7f050001;
|
||||
public static final int textField=0x7f050000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int game_demo=0x7f030000;
|
||||
}
|
||||
public static final class string {
|
||||
public static final int app_name=0x7f040000;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,26 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
lua/proj.android/jni \
|
||||
))
|
||||
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||
LOCAL_MODULE := game_shared
|
||||
|
||||
include $(subdirs)
|
||||
LOCAL_MODULE_FILENAME := libgame
|
||||
|
||||
LOCAL_SRC_FILES := helloworld/main.cpp \
|
||||
../../Classes/AppDelegate.cpp \
|
||||
../../../lua/cocos2dx_support/CCLuaEngine.cpp \
|
||||
../../../lua/cocos2dx_support/Cocos2dxLuaLoader.cpp \
|
||||
../../../lua/cocos2dx_support/LuaCocos2d.cpp \
|
||||
../../../lua/cocos2dx_support/tolua_fix.c
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_lua_static
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx)
|
||||
$(call import-module,CocosDenshion/android)
|
||||
$(call import-module,lua/proj.android/jni)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
APP_STL := gnustl_static
|
||||
APP_CPPFLAGS += -frtti
|
||||
|
||||
APP_MODULES := cocos2dx_static cocosdenshion_shared lua_shared game_logic_static game_shared
|
||||
APP_STL := gnustl_static
|
||||
APP_CPPFLAGS := -frtti
|
||||
APP_CPPFLAGS += -fexceptions
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := game_shared
|
||||
|
||||
LOCAL_MODULE_FILENAME := libgame
|
||||
|
||||
LOCAL_SRC_FILES := main.cpp
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := png_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := game_logic_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := cocosdenshion_shared lua_shared
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
|
|
@ -26,9 +26,8 @@ void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thi
|
|||
{
|
||||
CCEGLView *view = &CCEGLView::sharedOpenGLView();
|
||||
view->setFrameSize(w, h);
|
||||
// if you want to run in WVGA with HVGA resource, set it
|
||||
// view->create(480, 320);
|
||||
CCDirector::sharedDirector()->setOpenGLView(view);
|
||||
// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
|
||||
// view.setDesignResolutionSize(480, 320);
|
||||
|
||||
AppDelegate *pAppDelegate = new AppDelegate();
|
||||
CCApplication::sharedApplication().run();
|
||||
|
|
|
@ -8,4 +8,4 @@
|
|||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=android-10
|
||||
target=android-8
|
||||
|
|
|
@ -77,9 +77,7 @@ public class HelloLua extends Cocos2dxActivity{
|
|||
private LuaGLSurfaceView mGLView;
|
||||
|
||||
|
||||
static {
|
||||
System.loadLibrary("cocosdenshion");
|
||||
System.loadLibrary("lua");
|
||||
static {
|
||||
System.loadLibrary("game");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
@ -107,7 +107,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
|
|
@ -1,33 +1,40 @@
|
|||
#include "main.h"
|
||||
|
||||
#include "AppDelegate.h"
|
||||
#include "CCEGLView.h"
|
||||
|
||||
// uncomment below line, open debug console
|
||||
#define USE_WIN32_CONSOLE
|
||||
|
||||
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPTSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(hPrevInstance);
|
||||
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||
|
||||
#ifdef USE_WIN32_CONSOLE
|
||||
AllocConsole();
|
||||
freopen("CONIN$", "r", stdin);
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
#endif
|
||||
|
||||
// create the application instance
|
||||
AppDelegate app;
|
||||
|
||||
int ret = cocos2d::CCApplication::sharedApplication().run();
|
||||
|
||||
#ifdef USE_WIN32_CONSOLE
|
||||
FreeConsole();
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
USING_NS_CC;
|
||||
|
||||
// uncomment below line, open debug console
|
||||
#define USE_WIN32_CONSOLE
|
||||
|
||||
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPTSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(hPrevInstance);
|
||||
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||
|
||||
#ifdef USE_WIN32_CONSOLE
|
||||
AllocConsole();
|
||||
freopen("CONIN$", "r", stdin);
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
#endif
|
||||
|
||||
// create the application instance
|
||||
AppDelegate app;
|
||||
CCEGLView& eglView = CCEGLView::sharedOpenGLView();
|
||||
eglView.setViewName("Hello Lua");
|
||||
eglView.setFrameSize(480, 320);
|
||||
// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
|
||||
// eglView.setDesignResolutionSize(480, 320);
|
||||
|
||||
int ret = CCApplication::sharedApplication().run();
|
||||
|
||||
#ifdef USE_WIN32_CONSOLE
|
||||
FreeConsole();
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := game_logic_static
|
||||
|
||||
LOCAL_MODULE_FILENAME := libgame_logic
|
||||
|
||||
LOCAL_SRC_FILES := AppDelegate.cpp \
|
||||
HelloWorldScene.cpp
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := png_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := cocosdenshion_shared
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
|
|
@ -11,73 +11,8 @@ AppDelegate::AppDelegate() {
|
|||
|
||||
}
|
||||
|
||||
AppDelegate::~AppDelegate() {
|
||||
}
|
||||
|
||||
bool AppDelegate::initInstance() {
|
||||
bool bRet = false;
|
||||
do {
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
||||
|
||||
// Initialize OpenGLView instance, that release by CCDirector when application terminate.
|
||||
// The HelloWorld is designed as HVGA.
|
||||
CCEGLView * pMainWnd = new CCEGLView();
|
||||
CC_BREAK_IF(! pMainWnd
|
||||
|| ! pMainWnd->Create(TEXT("cocos2d: Hello World"), 480, 320));
|
||||
|
||||
// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
|
||||
//pMainWnd->setDesignResolutionSize(480, 320);
|
||||
|
||||
#endif // CC_PLATFORM_WIN32
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
|
||||
|
||||
// OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here.
|
||||
|
||||
#endif // CC_PLATFORM_IOS
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
|
||||
|
||||
// OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp
|
||||
// the default setting is to create a fullscreen view
|
||||
// if you want to use auto-scale, please enable view->create(320,480) in main.cpp
|
||||
// if the resources under '/sdcard" or other writeable path, set it.
|
||||
// warning: the audio source should in assets/
|
||||
// cocos2d::CCFileUtils::setResourcePath("/sdcard");
|
||||
|
||||
#endif // CC_PLATFORM_ANDROID
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE)
|
||||
// MaxAksenov said it's NOT a very elegant solution. I agree, haha
|
||||
CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
|
||||
#endif
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)
|
||||
|
||||
// Initialize OpenGLView instance, that release by CCDirector when application terminate.
|
||||
// The HelloWorld is designed as HVGA.
|
||||
CCEGLView * pMainWnd = new CCEGLView();
|
||||
CC_BREAK_IF(! pMainWnd
|
||||
|| ! pMainWnd->Create("cocos2d: Hello World", 480, 320 ,480, 320));
|
||||
|
||||
CCFileUtils::setResourcePath("../Resources/");
|
||||
|
||||
#endif // CC_PLATFORM_LINUX
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_BADA)
|
||||
|
||||
CCEGLView * pMainWnd = new CCEGLView();
|
||||
CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(this, 480, 320));
|
||||
pMainWnd->setDeviceOrientation(Osp::Ui::ORIENTATION_LANDSCAPE);
|
||||
CCFileUtils::setResourcePath("/Res/");
|
||||
|
||||
#endif // CC_PLATFORM_BADA
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_QNX)
|
||||
CCEGLView * pMainWnd = new CCEGLView();
|
||||
CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(1024, 600));
|
||||
CCFileUtils::setResourcePath("app/native/Resources");
|
||||
#endif // CC_PLATFORM_QNX
|
||||
bRet = true;
|
||||
} while (0);
|
||||
return bRet;
|
||||
AppDelegate::~AppDelegate()
|
||||
{
|
||||
}
|
||||
|
||||
bool AppDelegate::applicationDidFinishLaunching() {
|
||||
|
|
|
@ -14,11 +14,6 @@ public:
|
|||
AppDelegate();
|
||||
virtual ~AppDelegate();
|
||||
|
||||
/**
|
||||
@brief Implement for initialize OpenGL instance, set source path, etc...
|
||||
*/
|
||||
virtual bool initInstance();
|
||||
|
||||
/**
|
||||
@brief Implement CCDirector and CCScene init code here.
|
||||
@return true Initialize success, app continue.
|
||||
|
|
|
@ -1,23 +1,49 @@
|
|||
# set params
|
||||
NDK_ROOT_LOCAL=/cygdrive/e/android/android-ndk-r7b
|
||||
COCOS2DX_ROOT_LOCAL=/cygdrive/f/Project/dumganhar/cocos2d-x
|
||||
NDK_ROOT_LOCAL=/cygdrive/d/programe/android/ndk/android-ndk-r7b
|
||||
COCOS2DX_ROOT_LOCAL=/cygdrive/e/cocos2d-x
|
||||
|
||||
buildexternalsfromsource=
|
||||
|
||||
usage(){
|
||||
cat << EOF
|
||||
usage: $0 [options]
|
||||
|
||||
Build C/C++ native code using Android NDK
|
||||
|
||||
OPTIONS:
|
||||
-s Build externals from source
|
||||
-h this help
|
||||
EOF
|
||||
}
|
||||
|
||||
while getopts "s" OPTION; do
|
||||
case "$OPTION" in
|
||||
s)
|
||||
buildexternalsfromsource=1
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# try to get global variable
|
||||
if [ $NDK_ROOT"aaa" != "aaa" ]; then
|
||||
echo "use global definition of NDK_ROOT: $NDK_ROOT"
|
||||
NDK_ROOT_LOCAL=$NDK_ROOT
|
||||
echo "use global definition of NDK_ROOT: $NDK_ROOT"
|
||||
NDK_ROOT_LOCAL=$NDK_ROOT
|
||||
fi
|
||||
|
||||
if [ $COCOS2DX_ROOT"aaa" != "aaa" ]; then
|
||||
echo "use global definition of COCOS2DX_ROOT: $COCOS2DX_ROOT"
|
||||
COCOS2DX_ROOT_LOCAL=$COCOS2DX_ROOT
|
||||
echo "use global definition of COCOS2DX_ROOT: $COCOS2DX_ROOT"
|
||||
COCOS2DX_ROOT_LOCAL=$COCOS2DX_ROOT
|
||||
fi
|
||||
|
||||
HELLOWORLD_ROOT=$COCOS2DX_ROOT_LOCAL/HelloWorld/proj.android
|
||||
|
||||
# make sure assets is exist
|
||||
if [ -d $HELLOWORLD_ROOT/assets ]; then
|
||||
rm -rf $HELLOWORLD_ROOT/assets
|
||||
rm -rf $HELLOWORLD_ROOT/assets
|
||||
fi
|
||||
|
||||
mkdir $HELLOWORLD_ROOT/assets
|
||||
|
@ -25,17 +51,21 @@ mkdir $HELLOWORLD_ROOT/assets
|
|||
# copy resources
|
||||
for file in $COCOS2DX_ROOT_LOCAL/HelloWorld/Resources/*
|
||||
do
|
||||
if [ -d $file ]; then
|
||||
cp -rf $file $HELLOWORLD_ROOT/assets
|
||||
fi
|
||||
if [ -d $file ]; then
|
||||
cp -rf $file $HELLOWORLD_ROOT/assets
|
||||
fi
|
||||
|
||||
if [ -f $file ]; then
|
||||
cp $file $HELLOWORLD_ROOT/assets
|
||||
fi
|
||||
if [ -f $file ]; then
|
||||
cp $file $HELLOWORLD_ROOT/assets
|
||||
fi
|
||||
done
|
||||
|
||||
# build
|
||||
pushd $NDK_ROOT_LOCAL
|
||||
./ndk-build -C $HELLOWORLD_ROOT $*
|
||||
popd
|
||||
|
||||
if [[ $buildexternalsfromsource ]]; then
|
||||
echo "Building external dependencies from source"
|
||||
$NDK_ROOT_LOCAL/ndk-build -C $HELLOWORLD_ROOT $* \
|
||||
NDK_MODULE_PATH=${COCOS2DX_ROOT_LOCAL}:${COCOS2DX_ROOT_LOCAL}/cocos2dx/platform/third_party/android/source
|
||||
else
|
||||
echo "Using prebuilt externals"
|
||||
$NDK_ROOT_LOCAL/ndk-build -C $HELLOWORLD_ROOT $* \
|
||||
NDK_MODULE_PATH=${COCOS2DX_ROOT_LOCAL}:${COCOS2DX_ROOT_LOCAL}/cocos2dx/platform/third_party/android/prebuilt
|
||||
fi
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*
|
||||
* This class was automatically generated by the
|
||||
* aapt tool from the resource data it found. It
|
||||
* should not be modified by hand.
|
||||
*/
|
||||
|
||||
package org.cocos2dx.application;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int icon=0x7f020000;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int helloworld_gl_surfaceview=0x7f050001;
|
||||
public static final int textField=0x7f050000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int helloworld_demo=0x7f030000;
|
||||
}
|
||||
public static final class string {
|
||||
public static final int app_name=0x7f040000;
|
||||
}
|
||||
}
|
||||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*
|
||||
* This class was automatically generated by the
|
||||
* aapt tool from the resource data it found. It
|
||||
* should not be modified by hand.
|
||||
*/
|
||||
|
||||
package org.cocos2dx.application;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int icon=0x7f020000;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int helloworld_gl_surfaceview=0x7f050001;
|
||||
public static final int textField=0x7f050000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int helloworld_demo=0x7f030000;
|
||||
}
|
||||
public static final class string {
|
||||
public static final int app_name=0x7f040000;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,20 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
))
|
||||
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||
LOCAL_MODULE := helloworld_shared
|
||||
|
||||
LOCAL_MODULE_FILENAME := libhelloworld
|
||||
|
||||
LOCAL_SRC_FILES := helloworld/main.cpp \
|
||||
../../Classes/AppDelegate.cpp \
|
||||
../../Classes/HelloWorldScene.cpp
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx)
|
||||
|
||||
include $(subdirs)
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
APP_STL := gnustl_static
|
||||
APP_CPPFLAGS += -frtti
|
||||
|
||||
APP_MODULES := cocos2dx_static cocosdenshion_shared game_logic_static helloworld_shared
|
||||
APP_CPPFLAGS := -frtti
|
|
@ -1,23 +0,0 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := helloworld_shared
|
||||
|
||||
LOCAL_MODULE_FILENAME := libhelloworld
|
||||
|
||||
LOCAL_SRC_FILES := main.cpp
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := png_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := game_logic_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := cocosdenshion_shared
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
|
|
@ -29,9 +29,8 @@ void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thi
|
|||
{
|
||||
CCEGLView *view = &CCEGLView::sharedOpenGLView();
|
||||
view->setFrameSize(w, h);
|
||||
// if you want to run in WVGA with HVGA resource, set it
|
||||
// view->setDesignResolutionSize(480, 320); Please change it to (320, 480) if you're in portrait mode.
|
||||
CCDirector::sharedDirector()->setOpenGLView(view);
|
||||
// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
|
||||
// view.setDesignResolutionSize(480, 320);
|
||||
|
||||
AppDelegate *pAppDelegate = new AppDelegate();
|
||||
CCApplication::sharedApplication().run();
|
||||
|
|
|
@ -78,7 +78,6 @@ public class ApplicationDemo extends Cocos2dxActivity{
|
|||
}
|
||||
|
||||
static {
|
||||
System.loadLibrary("cocosdenshion");
|
||||
System.loadLibrary("helloworld");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
@ -97,7 +97,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "main.h"
|
||||
|
||||
#include "../Classes/AppDelegate.h"
|
||||
#include "CCEGLView.h"
|
||||
|
||||
USING_NS_CC;
|
||||
|
||||
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
|
@ -12,6 +14,10 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
|
|||
|
||||
// create the application instance
|
||||
AppDelegate app;
|
||||
|
||||
return cocos2d::CCApplication::sharedApplication().run();
|
||||
CCEGLView& eglView = CCEGLView::sharedOpenGLView();
|
||||
eglView.setViewName("Hello World");
|
||||
eglView.setFrameSize(480, 320);
|
||||
// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
|
||||
// eglView.setDesignResolutionSize(480, 320);
|
||||
return CCApplication::sharedApplication().run();
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ LOCAL_PATH := $(call my-dir)
|
|||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := chipmunk_shared
|
||||
LOCAL_MODULE := chipmunk_static
|
||||
|
||||
LOCAL_MODULE_FILENAME := libchipmunk
|
||||
|
||||
|
@ -42,4 +42,4 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk
|
|||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk
|
||||
LOCAL_CFLAGS := -std=c99
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
@ -87,7 +87,7 @@
|
|||
OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
|
||||
IntermediateDirectory="$(ConfigurationName).win32"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
|
|
|
@ -204,17 +204,16 @@ LOCAL_LDLIBS := -lGLESv2 \
|
|||
-llog \
|
||||
-lz
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := png_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
|
||||
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libpng_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libxml2_static
|
||||
|
||||
# define the macro to compile through support/zip_support/ioapi.c
|
||||
LOCAL_CFLAGS := -DUSE_FILE32API
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
$(call import-add-path,$(LOCAL_PATH)/..)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
|
||||
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
|
||||
$(call import-module,libjpeg)
|
||||
$(call import-module,libpng)
|
||||
$(call import-module,libxml2)
|
||||
|
||||
|
|
|
@ -131,8 +131,8 @@ bool CCDirector::init(void)
|
|||
m_fContentScaleFactor = 1;
|
||||
m_bIsContentScaleSupported = false;
|
||||
|
||||
m_pWatcherFun = NULL;
|
||||
m_pWatcherSender = NULL;
|
||||
m_pWatcherFun = NULL;
|
||||
m_pWatcherSender = NULL;
|
||||
|
||||
// scheduler
|
||||
m_pScheduler = new CCScheduler();
|
||||
|
@ -235,9 +235,9 @@ void CCDirector::drawScene(void)
|
|||
showStats();
|
||||
}
|
||||
|
||||
if (m_pWatcherFun && m_pWatcherSender)
|
||||
{
|
||||
(*m_pWatcherFun)(m_pWatcherSender);
|
||||
if (m_pWatcherFun && m_pWatcherSender)
|
||||
{
|
||||
(*m_pWatcherFun)(m_pWatcherSender);
|
||||
}
|
||||
|
||||
kmGLPopMatrix();
|
||||
|
@ -941,11 +941,11 @@ void CCDisplayLinkDirector::setAnimationInterval(double dValue)
|
|||
}
|
||||
}
|
||||
|
||||
void CCDirector::setWatcherCallbackFun(void *pSender, WatcherCallbackFun fun)
|
||||
{
|
||||
m_pWatcherFun = fun;
|
||||
m_pWatcherSender = pSender;
|
||||
}
|
||||
void CCDirector::setWatcherCallbackFun(void *pSender, WatcherCallbackFun fun)
|
||||
{
|
||||
m_pWatcherFun = fun;
|
||||
m_pWatcherSender = pSender;
|
||||
}
|
||||
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -273,7 +273,7 @@ public:
|
|||
void setContentScaleFactor(CCFloat scaleFactor);
|
||||
CCFloat getContentScaleFactor(void);
|
||||
|
||||
typedef void(*WatcherCallbackFun)(void *pSender);
|
||||
typedef void(*WatcherCallbackFun)(void *pSender);
|
||||
void setWatcherCallbackFun(void *pSender, WatcherCallbackFun fun);
|
||||
|
||||
public:
|
||||
|
@ -391,9 +391,9 @@ protected:
|
|||
|
||||
/* contentScaleFactor could be simulated */
|
||||
bool m_bIsContentScaleSupported;
|
||||
|
||||
WatcherCallbackFun m_pWatcherFun;
|
||||
void *m_pWatcherSender;
|
||||
|
||||
WatcherCallbackFun m_pWatcherFun;
|
||||
void *m_pWatcherSender;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -179,10 +179,10 @@ void CCTimer::update(ccTime dt)
|
|||
{
|
||||
(m_pTarget->*m_pfnSelector)(m_fElapsed);
|
||||
}
|
||||
if (m_nScriptHandler)
|
||||
{
|
||||
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeSchedule(m_nScriptHandler, m_fElapsed);
|
||||
}
|
||||
if (m_nScriptHandler)
|
||||
{
|
||||
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeSchedule(m_nScriptHandler, m_fElapsed);
|
||||
}
|
||||
m_fElapsed = m_fElapsed - m_fDelay;
|
||||
m_nTimesExecuted+=1;
|
||||
m_bUseDelay = false;
|
||||
|
@ -196,10 +196,10 @@ void CCTimer::update(ccTime dt)
|
|||
{
|
||||
(m_pTarget->*m_pfnSelector)(m_fElapsed);
|
||||
}
|
||||
if (m_nScriptHandler)
|
||||
{
|
||||
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeSchedule(m_nScriptHandler, m_fElapsed);
|
||||
}
|
||||
if (m_nScriptHandler)
|
||||
{
|
||||
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeSchedule(m_nScriptHandler, m_fElapsed);
|
||||
}
|
||||
m_fElapsed = 0;
|
||||
m_nTimesExecuted += 1;
|
||||
|
||||
|
|
|
@ -1,42 +1,67 @@
|
|||
#ifndef __CCCONTROL_DEFINE_H__
|
||||
#define __CCCONTROL_DEFINE_H__
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
typedef enum
|
||||
{
|
||||
PARENT_CENTER,
|
||||
VERTICAL_TOP,
|
||||
VERTICAL_BOTTOM,
|
||||
HORIZONTAL_LEFT,
|
||||
HORIZONTAL_RIGHT,
|
||||
ABS_WITH_PIXEL,
|
||||
ABS_WITH_PERCENT,
|
||||
REF_PREV_X_INC,
|
||||
REF_PREV_X_DEC,
|
||||
REF_PREV_Y_INC,
|
||||
REF_PREV_Y_DEC,
|
||||
REL_FLOW
|
||||
} LAYOUT_TYPE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LAYOUT_TYPE t;
|
||||
union
|
||||
{
|
||||
float pixel_val;
|
||||
float percent_val;
|
||||
} val;
|
||||
} LayoutParamVal;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LayoutParamVal val_x;
|
||||
LayoutParamVal val_y;
|
||||
float padding;
|
||||
bool wrap;
|
||||
} LayoutParam;
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
#endif /* __CCCONTROL_DEFINE_H__ */
|
||||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __CCCONTROL_DEFINE_H__
|
||||
#define __CCCONTROL_DEFINE_H__
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
typedef enum
|
||||
{
|
||||
PARENT_CENTER,
|
||||
VERTICAL_TOP,
|
||||
VERTICAL_BOTTOM,
|
||||
HORIZONTAL_LEFT,
|
||||
HORIZONTAL_RIGHT,
|
||||
ABS_WITH_PIXEL,
|
||||
ABS_WITH_PERCENT,
|
||||
REF_PREV_X_INC,
|
||||
REF_PREV_X_DEC,
|
||||
REF_PREV_Y_INC,
|
||||
REF_PREV_Y_DEC,
|
||||
REL_FLOW
|
||||
} LAYOUT_TYPE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LAYOUT_TYPE t;
|
||||
union
|
||||
{
|
||||
float pixel_val;
|
||||
float percent_val;
|
||||
} val;
|
||||
} LayoutParamVal;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LayoutParamVal val_x;
|
||||
LayoutParamVal val_y;
|
||||
float padding;
|
||||
bool wrap;
|
||||
} LayoutParam;
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
#endif /* __CCCONTROL_DEFINE_H__ */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,188 +1,216 @@
|
|||
#ifndef __CC_LIST_VIEW_H__
|
||||
#define __CC_LIST_VIEW_H__
|
||||
|
||||
#include <time.h>
|
||||
#include "platform.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
//#include "../lua/cocos2dx_support/CCLuaEngine.h"
|
||||
#include "CCListViewCell.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CC_DLL CCRange
|
||||
{
|
||||
public:
|
||||
CCRange()
|
||||
{
|
||||
this->location = 0;
|
||||
this->length = 0;
|
||||
}
|
||||
|
||||
CCRange(unsigned int loc, unsigned int len)
|
||||
{
|
||||
this->location = loc;
|
||||
this->length = len;
|
||||
}
|
||||
|
||||
static unsigned int CCMaxRange(CCRange range)
|
||||
{
|
||||
return (range.location + range.length-1);
|
||||
}
|
||||
|
||||
static bool CCLocationInRange(unsigned int loc, CCRange range)
|
||||
{
|
||||
return (loc - range.location <= range.length);
|
||||
}
|
||||
|
||||
static bool CCEqualRanges(CCRange range1, CCRange range2)
{
return (range1.location == range2.location && range1.length == range2.length);
}
|
||||
|
||||
unsigned int length;
|
||||
unsigned int location;
|
||||
};
|
||||
|
||||
#define CCRangeMake(__min__, __max__) CCRange((__min__), (__max__))
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewSlideDirNone,
|
||||
CCListViewSlideDirUp,
|
||||
CCListViewSlideDirDown,
|
||||
CCListViewSlideDirLeft,
|
||||
CCListViewSlideDirRight,
|
||||
} CCListViewSlideDir;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewStateWatting,
|
||||
CCListViewStateTrackingTouch,
|
||||
CCListViewStateEaseOut,
|
||||
CCListViewStateFix,
|
||||
CCListViewStateScroll,
|
||||
} CCListViewState;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewModeHorizontal,
|
||||
CCListViewModeVertical,
|
||||
} CCListViewMode;
|
||||
|
||||
typedef struct _CCListViewProtrolData
|
||||
{
|
||||
unsigned int nNumberOfRows;
|
||||
unsigned int nRow;
|
||||
CCListViewCell *cell;
|
||||
} CCListViewProtrolData;
|
||||
|
||||
class CC_DLL CCListViewDelegate
|
||||
{
|
||||
public :
|
||||
CCListViewDelegate(){};
|
||||
virtual ~CCListViewDelegate(){};
|
||||
|
||||
virtual void CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_didScrollToRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
};
|
||||
|
||||
|
||||
class CC_DLL CCListView : public CCLayerColor
|
||||
{
|
||||
public:
|
||||
virtual ~CCListView(void);
|
||||
CCListView(void);
|
||||
|
||||
static CCListView* viewWithMode(CCListViewMode mode);
|
||||
bool initWithMode(CCListViewMode mode);
|
||||
|
||||
void setDelegateName(const char* pszName);
|
||||
void selectCellAtRow(unsigned int nRow);
|
||||
void unselectCellAtRow(unsigned int nRow);
|
||||
void scrollCellToFront(unsigned int nRow, bool bAnimated);
|
||||
void scrollCellToBack(unsigned int nRow, bool bAnimated);
|
||||
void reload(void);
|
||||
void insertCellsAtRow(unsigned int nRow, unsigned int nCount);
|
||||
void deleteCellsAtRow(unsigned int nRow, unsigned int nCount);
|
||||
CCListViewCell *cellAtRow(unsigned int nRow);
|
||||
|
||||
CCListViewSlideDir getSlideDir(CCPoint ptTouchBegan, CCPoint ptTouchEnd);
|
||||
inline CCListViewSlideDir getSlideDir(void) { return m_nSlideDir; }
|
||||
|
||||
inline CCListViewCellSeparatorStyle getSeparatorStyle(void) { return m_nSeparatorStyle; }
|
||||
inline void setSeparatorStyle(CCListViewCellSeparatorStyle style) { m_nSeparatorStyle = style; }
|
||||
inline CCListViewMode getMode(void) { return m_nMode; }
|
||||
|
||||
inline void setListViewParent(CCListView *pParent) { m_pListViewParent = pParent; }
|
||||
inline CCListView *getListViewParent(void) { return m_pListViewParent; }
|
||||
|
||||
inline void setIsEnabled(bool bEnabled) { m_bIsEnabled = bEnabled; }
|
||||
inline bool getIsEnabled(void) { return m_bIsEnabled; }
|
||||
|
||||
// un
|
||||
void setDelegate(const CCListViewDelegate *pDelegate) { m_pDelegate = const_cast<CCListViewDelegate*>(pDelegate);}
|
||||
void finishFix(void);
|
||||
void finishScroll(void);
|
||||
void finishEaseOut(void);
|
||||
|
||||
public:
|
||||
virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
|
||||
virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
|
||||
virtual void ccTouchCancelled(CCTouch *touch, CCEvent* event);
|
||||
virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);
|
||||
|
||||
virtual void onEnter(void);
|
||||
virtual void onExit(void);
|
||||
|
||||
virtual void registerWithTouchDispatcher(void);
|
||||
virtual void visit(void);
|
||||
|
||||
protected:
|
||||
void displayVisibleRows(void);
|
||||
CCListViewCell* appendRowToBack(unsigned int nRow);
|
||||
CCListViewCell* appendRowToFront(unsigned int nRow);
|
||||
void fixFirstRow(void);
|
||||
void fixLastRow(void);
|
||||
void easeOutWithDistance(float dis);
|
||||
void clearUnvisibleRows(void);
|
||||
|
||||
int rowForTouch(cocos2d::CCTouch *touch);
|
||||
bool isTouchInside(CCTouch *touch);
|
||||
bool isFullFill(void);
|
||||
|
||||
void stopActionImmediately(void);
|
||||
|
||||
unsigned int triggerNumberOfCells(void);
|
||||
CCListViewCell *triggerCellForRow(unsigned int nRow);
|
||||
void triggerDidClickCellAtRow(unsigned int nRow);
|
||||
void triggerDidScrollToRow(unsigned int nRow);
|
||||
bool isMenuTouch(CCTouch *touch, CCNode *parent);
|
||||
|
||||
private:
|
||||
CCListViewState m_nState;
|
||||
CCListViewMode m_nMode;
|
||||
CCListViewSlideDir m_nSlideDir;
|
||||
CCListViewCellSeparatorStyle m_nSeparatorStyle;
|
||||
unsigned int m_nNumberOfRows;
|
||||
float m_fActionDuration;
|
||||
clock_t m_timeTouchBegan;
|
||||
CCRange m_drawedRows; //所有已绘制的cell
|
||||
CCRange m_visibleRows; //所有可见的cell
|
||||
CCPoint m_ptTouchBegan;
|
||||
CCPoint m_ptTouchEnd;
|
||||
CCPoint m_ptPanelOffset;
|
||||
CCPoint m_ptDestination;
|
||||
std::string m_strDeletegate;
|
||||
CCListViewDelegate* m_pDelegate;
|
||||
CCLayer* m_layerPanel;
|
||||
CCListView* m_pListViewParent;
|
||||
int m_nSelectedRow;
|
||||
int m_nCurrentRow;
|
||||
bool m_bIsEnabled;
|
||||
bool m_bIsOnTouch;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __CC_LIST_VIEW_H__
|
||||
#define __CC_LIST_VIEW_H__
|
||||
|
||||
#include <time.h>
|
||||
#include "platform.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
//#include "../lua/cocos2dx_support/CCLuaEngine.h"
|
||||
#include "CCListViewCell.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CC_DLL CCRange
|
||||
{
|
||||
public:
|
||||
CCRange()
|
||||
{
|
||||
this->location = 0;
|
||||
this->length = 0;
|
||||
}
|
||||
|
||||
CCRange(unsigned int loc, unsigned int len)
|
||||
{
|
||||
this->location = loc;
|
||||
this->length = len;
|
||||
}
|
||||
|
||||
static unsigned int CCMaxRange(CCRange range)
|
||||
{
|
||||
return (range.location + range.length-1);
|
||||
}
|
||||
|
||||
static bool CCLocationInRange(unsigned int loc, CCRange range)
|
||||
{
|
||||
return (loc - range.location <= range.length);
|
||||
}
|
||||
|
||||
static bool CCEqualRanges(CCRange range1, CCRange range2)
|
||||
{
|
||||
return (range1.location == range2.location && range1.length == range2.length);
|
||||
}
|
||||
|
||||
unsigned int length;
|
||||
unsigned int location;
|
||||
};
|
||||
|
||||
#define CCRangeMake(__location__, __length__) CCRange((__location__), (__length__))
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewSlideDirNone,
|
||||
CCListViewSlideDirUp,
|
||||
CCListViewSlideDirDown,
|
||||
CCListViewSlideDirLeft,
|
||||
CCListViewSlideDirRight,
|
||||
} CCListViewSlideDir;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewStateWatting,
|
||||
CCListViewStateTrackingTouch,
|
||||
CCListViewStateEaseOut,
|
||||
CCListViewStateFix,
|
||||
CCListViewStateScroll,
|
||||
} CCListViewState;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CCListViewModeHorizontal,
|
||||
CCListViewModeVertical,
|
||||
} CCListViewMode;
|
||||
|
||||
typedef struct _CCListViewProtrolData
|
||||
{
|
||||
unsigned int nNumberOfRows;
|
||||
unsigned int nRow;
|
||||
CCListViewCell *cell;
|
||||
} CCListViewProtrolData;
|
||||
|
||||
class CC_DLL CCListViewDelegate
|
||||
{
|
||||
public :
|
||||
CCListViewDelegate(){};
|
||||
virtual ~CCListViewDelegate(){};
|
||||
|
||||
virtual void CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
virtual void CCListView_didScrollToRow(CCListView *listView, CCListViewProtrolData *data)=0;
|
||||
};
|
||||
|
||||
|
||||
class CC_DLL CCListView : public CCLayerColor
|
||||
{
|
||||
public:
|
||||
virtual ~CCListView(void);
|
||||
CCListView(void);
|
||||
|
||||
static CCListView* viewWithMode(CCListViewMode mode);
|
||||
bool initWithMode(CCListViewMode mode);
|
||||
|
||||
void setDelegateName(const char* pszName);
|
||||
void selectCellAtRow(unsigned int nRow);
|
||||
void unselectCellAtRow(unsigned int nRow);
|
||||
void scrollCellToFront(unsigned int nRow, bool bAnimated);
|
||||
void scrollCellToBack(unsigned int nRow, bool bAnimated);
|
||||
void reload(void);
|
||||
void insertCellsAtRow(unsigned int nRow, unsigned int nCount);
|
||||
void deleteCellsAtRow(unsigned int nRow, unsigned int nCount);
|
||||
CCListViewCell *cellAtRow(unsigned int nRow);
|
||||
|
||||
CCListViewSlideDir getSlideDir(CCPoint ptTouchBegan, CCPoint ptTouchEnd);
|
||||
inline CCListViewSlideDir getSlideDir(void) { return m_nSlideDir; }
|
||||
|
||||
inline CCListViewCellSeparatorStyle getSeparatorStyle(void) { return m_nSeparatorStyle; }
|
||||
inline void setSeparatorStyle(CCListViewCellSeparatorStyle style) { m_nSeparatorStyle = style; }
|
||||
inline CCListViewMode getMode(void) { return m_nMode; }
|
||||
|
||||
inline void setListViewParent(CCListView *pParent) { m_pListViewParent = pParent; }
|
||||
inline CCListView *getListViewParent(void) { return m_pListViewParent; }
|
||||
|
||||
inline void setIsEnabled(bool bEnabled) { m_bIsEnabled = bEnabled; }
|
||||
inline bool getIsEnabled(void) { return m_bIsEnabled; }
|
||||
|
||||
// un
|
||||
void setDelegate(const CCListViewDelegate *pDelegate) { m_pDelegate = const_cast<CCListViewDelegate*>(pDelegate);}
|
||||
void finishFix(void);
|
||||
void finishScroll(void);
|
||||
void finishEaseOut(void);
|
||||
|
||||
public:
|
||||
virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
|
||||
virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
|
||||
virtual void ccTouchCancelled(CCTouch *touch, CCEvent* event);
|
||||
virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);
|
||||
|
||||
virtual void onEnter(void);
|
||||
virtual void onExit(void);
|
||||
|
||||
virtual void registerWithTouchDispatcher(void);
|
||||
virtual void visit(void);
|
||||
|
||||
protected:
|
||||
void displayVisibleRows(void);
|
||||
CCListViewCell* appendRowToBack(unsigned int nRow);
|
||||
CCListViewCell* appendRowToFront(unsigned int nRow);
|
||||
void fixFirstRow(void);
|
||||
void fixLastRow(void);
|
||||
void easeOutWithDistance(float dis);
|
||||
void clearUnvisibleRows(void);
|
||||
|
||||
int rowForTouch(cocos2d::CCTouch *touch);
|
||||
bool isTouchInside(CCTouch *touch);
|
||||
bool isFullFill(void);
|
||||
|
||||
void stopActionImmediately(void);
|
||||
|
||||
unsigned int triggerNumberOfCells(void);
|
||||
CCListViewCell *triggerCellForRow(unsigned int nRow);
|
||||
void triggerDidClickCellAtRow(unsigned int nRow);
|
||||
void triggerDidScrollToRow(unsigned int nRow);
|
||||
bool isMenuTouch(CCTouch *touch, CCNode *parent);
|
||||
|
||||
private:
|
||||
CCListViewState m_nState;
|
||||
CCListViewMode m_nMode;
|
||||
CCListViewSlideDir m_nSlideDir;
|
||||
CCListViewCellSeparatorStyle m_nSeparatorStyle;
|
||||
unsigned int m_nNumberOfRows;
|
||||
float m_fActionDuration;
|
||||
clock_t m_timeTouchBegan;
|
||||
CCRange m_drawedRows; // all drawed cell
|
||||
CCRange m_visibleRows; // all visible cell
|
||||
CCPoint m_ptTouchBegan;
|
||||
CCPoint m_ptTouchEnd;
|
||||
CCPoint m_ptPanelOffset;
|
||||
CCPoint m_ptDestination;
|
||||
std::string m_strDeletegate;
|
||||
CCListViewDelegate* m_pDelegate;
|
||||
CCLayer* m_layerPanel;
|
||||
CCListView* m_pListViewParent;
|
||||
int m_nSelectedRow;
|
||||
int m_nCurrentRow;
|
||||
bool m_bIsEnabled;
|
||||
bool m_bIsOnTouch;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
|
||||
#endif // __CC_LIST_VIEW_H__
|
|
@ -1,96 +1,121 @@
|
|||
#include "CCListView.h"
|
||||
#include "CCListViewCell.h"
|
||||
#include "cocos2d.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
const int TOUCHBEGIN = 1;
|
||||
const int TOUCHEND = 2;
|
||||
const int TOUCHMOVING = 3;
|
||||
const int TOUCHCANCELLED= 4;
|
||||
|
||||
|
||||
/******************************************
|
||||
**************Public Functions*************
|
||||
*******************************************/
|
||||
CCListViewCell::CCListViewCell(void)
|
||||
:m_nSeparatorStyle(CCListViewCellSeparatorStyleNone)
|
||||
,m_bIsSelected(false)
|
||||
{
|
||||
setIsTouchEnabled(true);
|
||||
m_selectionColor = ccc4(0, 0, 255, 255);
|
||||
m_separatorLineColor = ccc3(128, 128, 128);
|
||||
}
|
||||
|
||||
CCListViewCell::~CCListViewCell(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CCListViewCell *CCListViewCell::node(void)
|
||||
{
|
||||
CCListViewCell *pRet = new CCListViewCell();
|
||||
pRet->initWithColorWidthHeight(ccc4(255, 255, 255, 255), 0, 0);
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCListViewCell::selected(void)
|
||||
{
|
||||
m_bIsSelected = true;
|
||||
CCLayerColor::setColor(ccc3(m_selectionColor.r, m_selectionColor.g, m_selectionColor.b));
|
||||
CCLayerColor::setOpacity(m_selectionColor.a);
|
||||
}
|
||||
|
||||
void CCListViewCell::unselected(void)
|
||||
{
|
||||
m_bIsSelected = false;
|
||||
CCLayerColor::setColor(ccc3(m_normalColor.r, m_normalColor.g, m_normalColor.b));
|
||||
CCLayerColor::setOpacity(m_normalColor.a);
|
||||
}
|
||||
|
||||
/******************************************
|
||||
**************Virturl Functions************
|
||||
*******************************************/
|
||||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#include "CCListView.h"
|
||||
#include "CCListViewCell.h"
|
||||
#include "cocos2d.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
const int TOUCHBEGIN = 1;
|
||||
const int TOUCHEND = 2;
|
||||
const int TOUCHMOVING = 3;
|
||||
const int TOUCHCANCELLED= 4;
|
||||
|
||||
|
||||
/******************************************
|
||||
**************Public Functions*************
|
||||
*******************************************/
|
||||
CCListViewCell::CCListViewCell(void)
|
||||
:m_nSeparatorStyle(CCListViewCellSeparatorStyleNone)
|
||||
,m_bIsSelected(false)
|
||||
{
|
||||
setIsTouchEnabled(true);
|
||||
m_selectionColor = ccc4(0, 0, 255, 255);
|
||||
m_separatorLineColor = ccc3(128, 128, 128);
|
||||
}
|
||||
|
||||
CCListViewCell::~CCListViewCell(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CCListViewCell *CCListViewCell::node(void)
|
||||
{
|
||||
CCListViewCell *pRet = new CCListViewCell();
|
||||
pRet->initWithColorWidthHeight(ccc4(255, 255, 255, 255), 0, 0);
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCListViewCell::selected(void)
|
||||
{
|
||||
m_bIsSelected = true;
|
||||
CCLayerColor::setColor(ccc3(m_selectionColor.r, m_selectionColor.g, m_selectionColor.b));
|
||||
CCLayerColor::setOpacity(m_selectionColor.a);
|
||||
}
|
||||
|
||||
void CCListViewCell::unselected(void)
|
||||
{
|
||||
m_bIsSelected = false;
|
||||
CCLayerColor::setColor(ccc3(m_normalColor.r, m_normalColor.g, m_normalColor.b));
|
||||
CCLayerColor::setOpacity(m_normalColor.a);
|
||||
}
|
||||
|
||||
/******************************************
|
||||
**************Virturl Functions************
|
||||
*******************************************/
|
||||
bool CCListViewCell::initWithColorWidthHeight(ccColor4B color, GLfloat width, GLfloat height)
|
||||
{
|
||||
this->m_normalColor = color;
|
||||
return CCLayerColor::initWithColor(color, width, height);
|
||||
}
|
||||
|
||||
void CCListViewCell::draw(void)
|
||||
{
|
||||
CCLayerColor::draw();
|
||||
CCSize size = this->getContentSize();
|
||||
CCListView *owner = this->getOwner();
|
||||
if (CCListViewCellSeparatorStyleSingleLine == m_nSeparatorStyle)
|
||||
{
|
||||
glLineWidth(1.0f);
|
||||
ccDrawColor4B(m_separatorLineColor.r, m_separatorLineColor.g, m_separatorLineColor.b, 255);
|
||||
|
||||
if (CCListViewModeHorizontal == owner->getMode())
|
||||
{
|
||||
ccDrawLine(CCPointMake(size.width, 0), CCPointMake(size.width, size.height));
|
||||
}
|
||||
else if (CCListViewModeVertical == owner->getMode())
|
||||
{
|
||||
ccDrawLine(CCPointMake(0, 0), CCPointMake(size.width, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
this->m_normalColor = color;
|
||||
return CCLayerColor::initWithColor(color, width, height);
|
||||
}
|
||||
|
||||
void CCListViewCell::draw(void)
|
||||
{
|
||||
CCLayerColor::draw();
|
||||
CCSize size = this->getContentSize();
|
||||
CCListView *owner = this->getOwner();
|
||||
if (CCListViewCellSeparatorStyleSingleLine == m_nSeparatorStyle)
|
||||
{
|
||||
glLineWidth(1.0f);
|
||||
ccDrawColor4B(m_separatorLineColor.r, m_separatorLineColor.g, m_separatorLineColor.b, 255);
|
||||
|
||||
if (CCListViewModeHorizontal == owner->getMode())
|
||||
{
|
||||
ccDrawLine(CCPointMake(size.width, 0), CCPointMake(size.width, size.height));
|
||||
}
|
||||
else if (CCListViewModeVertical == owner->getMode())
|
||||
{
|
||||
ccDrawLine(CCPointMake(0, 0), CCPointMake(size.width, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CCListViewCell::setColor(ccColor3B var)
|
||||
{
|
||||
m_normalColor.r = var.r;
|
||||
m_normalColor.g = var.g;
|
||||
m_normalColor.b = var.b;
|
||||
CCLayerColor::setColor(var);
|
||||
}
|
||||
|
||||
void CCListViewCell::setOpacity(GLubyte var)
|
||||
{
|
||||
m_normalColor.a = var;
|
||||
CCLayerColor::setOpacity(var);
|
||||
}
|
||||
|
||||
m_normalColor.r = var.r;
|
||||
m_normalColor.g = var.g;
|
||||
m_normalColor.b = var.b;
|
||||
CCLayerColor::setColor(var);
|
||||
}
|
||||
|
||||
void CCListViewCell::setOpacity(GLubyte var)
|
||||
{
|
||||
m_normalColor.a = var;
|
||||
CCLayerColor::setOpacity(var);
|
||||
}
|
||||
|
||||
NS_CC_EXT_END
|
|
@ -1,55 +1,80 @@
|
|||
#ifndef __CC_LIST_VIEW_CELL_H_
|
||||
#define __CC_LIST_VIEW_CELL_H_
|
||||
|
||||
#include "CCControlDefine.h"
|
||||
#include "CCLayer.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CCListView;
|
||||
typedef enum
|
||||
{
|
||||
CCListViewCellSeparatorStyleNone,
|
||||
CCListViewCellSeparatorStyleSingleLine,
|
||||
}CCListViewCellSeparatorStyle;
|
||||
|
||||
class CC_DLL CCListViewCell : public CCLayerColor
|
||||
{
|
||||
public:
|
||||
CCListViewCell(void);
|
||||
virtual ~CCListViewCell(void);
|
||||
|
||||
static CCListViewCell *node(void);
|
||||
|
||||
void selected(void);
|
||||
void unselected(void);
|
||||
|
||||
inline CCListViewCellSeparatorStyle getSeparatorStyle(void) { return m_nSeparatorStyle; }
|
||||
inline void setSeparatorStyle(CCListViewCellSeparatorStyle style) { m_nSeparatorStyle = style; }
|
||||
|
||||
inline ccColor4B getSelectionColor(void) { return m_selectionColor; }
|
||||
inline void setSelectionColor(ccColor4B color) { m_selectionColor = color; }
|
||||
|
||||
inline ccColor3B getSeparatorLineColor(void) { return m_separatorLineColor; }
|
||||
inline void setSeparatorLineColor(ccColor3B color) { m_separatorLineColor = color; }
|
||||
|
||||
public:
|
||||
virtual bool initWithColorWidthHeight(ccColor4B color, GLfloat width, GLfloat height);
|
||||
virtual void draw(void);
|
||||
virtual void setColor(ccColor3B color);
|
||||
virtual void setOpacity(GLubyte var);
|
||||
|
||||
private:
|
||||
inline CCListView *getOwner(void) { return (CCListView*)(this->getParent()->getParent()); }
|
||||
|
||||
private:
|
||||
CCListViewCellSeparatorStyle m_nSeparatorStyle;
|
||||
bool m_bIsSelected;
|
||||
ccColor4B m_selectionColor;
|
||||
ccColor4B m_normalColor;
|
||||
ccColor3B m_separatorLineColor;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __CC_LIST_VIEW_CELL_H_
|
||||
#define __CC_LIST_VIEW_CELL_H_
|
||||
|
||||
#include "CCControlDefine.h"
|
||||
#include "CCLayer.h"
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CCListView;
|
||||
typedef enum
|
||||
{
|
||||
CCListViewCellSeparatorStyleNone,
|
||||
CCListViewCellSeparatorStyleSingleLine,
|
||||
}CCListViewCellSeparatorStyle;
|
||||
|
||||
class CC_DLL CCListViewCell : public CCLayerColor
|
||||
{
|
||||
public:
|
||||
CCListViewCell(void);
|
||||
virtual ~CCListViewCell(void);
|
||||
|
||||
static CCListViewCell *node(void);
|
||||
|
||||
void selected(void);
|
||||
void unselected(void);
|
||||
|
||||
inline CCListViewCellSeparatorStyle getSeparatorStyle(void) { return m_nSeparatorStyle; }
|
||||
inline void setSeparatorStyle(CCListViewCellSeparatorStyle style) { m_nSeparatorStyle = style; }
|
||||
|
||||
inline ccColor4B getSelectionColor(void) { return m_selectionColor; }
|
||||
inline void setSelectionColor(ccColor4B color) { m_selectionColor = color; }
|
||||
|
||||
inline ccColor3B getSeparatorLineColor(void) { return m_separatorLineColor; }
|
||||
inline void setSeparatorLineColor(ccColor3B color) { m_separatorLineColor = color; }
|
||||
|
||||
public:
|
||||
virtual bool initWithColorWidthHeight(ccColor4B color, GLfloat width, GLfloat height);
|
||||
virtual void draw(void);
|
||||
virtual void setColor(ccColor3B color);
|
||||
virtual void setOpacity(GLubyte var);
|
||||
|
||||
private:
|
||||
inline CCListView *getOwner(void) { return (CCListView*)(this->getParent()->getParent()); }
|
||||
|
||||
private:
|
||||
CCListViewCellSeparatorStyle m_nSeparatorStyle;
|
||||
bool m_bIsSelected;
|
||||
ccColor4B m_selectionColor;
|
||||
ccColor4B m_normalColor;
|
||||
ccColor3B m_separatorLineColor;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
#endif // __CC_LIST_VIEW_CELL_H_
|
|
@ -1,86 +1,111 @@
|
|||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#include "CCTextureWatcher.h"
|
||||
#include "cocos2d.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
#define NUM_PER_PAGE 4
|
||||
#define NUM_PER_PAGE 4
|
||||
|
||||
CCTextureWatcher::CCTextureWatcher()
|
||||
{
|
||||
m_bHide = false;
|
||||
m_nCurrnetPage = 1;
|
||||
m_nTotalPage = 0;
|
||||
m_bFresh = true;
|
||||
m_pTextures = NULL;
|
||||
m_pszString = NULL;
|
||||
m_pLayer = CCLayerColor::layerWithColor(ccc4(128, 128, 128, 128));
|
||||
m_pLayer->retain();
|
||||
m_bHide = false;
|
||||
m_nCurrnetPage = 1;
|
||||
m_nTotalPage = 0;
|
||||
m_bFresh = true;
|
||||
m_pTextures = NULL;
|
||||
m_pszString = NULL;
|
||||
m_pLayer = CCLayerColor::layerWithColor(ccc4(128, 128, 128, 128));
|
||||
m_pLayer->retain();
|
||||
|
||||
// layer
|
||||
CCSize size = CCDirector::sharedDirector()->getWinSize();
|
||||
size.height *= 0.6;
|
||||
m_pLayer->setContentSize(size);
|
||||
// layer
|
||||
CCSize size = CCDirector::sharedDirector()->getWinSize();
|
||||
size.height *= 0.6;
|
||||
m_pLayer->setContentSize(size);
|
||||
|
||||
// 屏蔽点击事件的menu
|
||||
//*
|
||||
CCLabelTTF *label = CCLabelTTF::labelWithString(" ", size, CCTextAlignmentLeft, "Arial", 12);
|
||||
CCMenuItemLabel *menuItem = CCMenuItemLabel::itemWithLabel(label);
|
||||
menuItem->setAnchorPoint(CCPoint(0, 0));
|
||||
menuItem->setPosition(CCPoint(0, 0));
|
||||
|
||||
CCMenu *menu = CCMenu::menuWithItem(menuItem);
|
||||
menu->setAnchorPoint(CCPoint(0, 0));
|
||||
menu->setPosition(CCPoint(0, 0));
|
||||
m_pLayer->addChild(menu);
|
||||
//*/
|
||||
// the menu of disabling touch event
|
||||
//*
|
||||
CCLabelTTF *label = CCLabelTTF::labelWithString(" ", size, CCTextAlignmentLeft, "Arial", 12);
|
||||
CCMenuItemLabel *menuItem = CCMenuItemLabel::itemWithLabel(label);
|
||||
menuItem->setAnchorPoint(ccp(0, 0));
|
||||
menuItem->setPosition(ccp(0, 0));
|
||||
|
||||
CCMenu *menu = CCMenu::menuWithItem(menuItem);
|
||||
menu->setAnchorPoint(ccp(0, 0));
|
||||
menu->setPosition(ccp(0, 0));
|
||||
m_pLayer->addChild(menu);
|
||||
//*/
|
||||
|
||||
// list
|
||||
CCListView *list = CCListView::viewWithMode(CCListViewModeHorizontal);
|
||||
list->setContentSize(size);
|
||||
list->setDelegate(this);
|
||||
list->setSeparatorStyle(CCListViewCellSeparatorStyleNone);
|
||||
m_pLayer->addChild(list);
|
||||
m_pList = list;
|
||||
// list
|
||||
CCListView *list = CCListView::viewWithMode(CCListViewModeHorizontal);
|
||||
list->setContentSize(size);
|
||||
list->setDelegate(this);
|
||||
list->setSeparatorStyle(CCListViewCellSeparatorStyleNone);
|
||||
m_pLayer->addChild(list);
|
||||
m_pList = list;
|
||||
|
||||
|
||||
// 隐藏按钮
|
||||
CCLabelTTF *labelHide = CCLabelTTF::labelWithString("Hide ", "Arial", 24);
|
||||
labelHide->setColor(ccc3(255, 0, 0));
|
||||
CCMenuItemLabel *menuItem2 = CCMenuItemLabel::itemWithLabel(labelHide, this, menu_selector(CCTextureWatcher::actionHide));
|
||||
menuItem2->setAnchorPoint(CCPoint(0, 0));
|
||||
menuItem2->setPosition(CCPoint(0, 0));
|
||||
// 'Hide' button
|
||||
CCLabelTTF *labelHide = CCLabelTTF::labelWithString("Hide ", "Arial", 24);
|
||||
labelHide->setColor(ccc3(255, 0, 0));
|
||||
CCMenuItemLabel *menuItem2 = CCMenuItemLabel::itemWithLabel(labelHide, this, menu_selector(CCTextureWatcher::actionHide));
|
||||
menuItem2->setAnchorPoint(ccp(0, 0));
|
||||
menuItem2->setPosition(ccp(0, 0));
|
||||
|
||||
CCMenu *menu2 = CCMenu::menuWithItem(menuItem2);
|
||||
menu2->setAnchorPoint(CCPoint(0, 0));
|
||||
menu2->setPosition(CCPoint(size.width - menuItem2->getContentSize().width, 0));
|
||||
CCMenu *menu2 = CCMenu::menuWithItem(menuItem2);
|
||||
menu2->setAnchorPoint(ccp(0, 0));
|
||||
menu2->setPosition(ccp(size.width - menuItem2->getContentSize().width, 0));
|
||||
|
||||
m_labelHide = labelHide;
|
||||
m_menuHide = menu2;
|
||||
m_menuHide->retain();
|
||||
m_labelHide = labelHide;
|
||||
m_menuHide = menu2;
|
||||
m_menuHide->retain();
|
||||
|
||||
// 更新按钮
|
||||
CCLabelTTF *labelFresh = CCLabelTTF::labelWithString("Fresh", "Arial", 24);
|
||||
labelFresh->setColor(ccc3(255, 0, 0));
|
||||
CCMenuItemLabel *menuItem1 = CCMenuItemLabel::itemWithLabel(labelFresh, this, menu_selector(CCTextureWatcher::actionFresh));
|
||||
menuItem1->setAnchorPoint(CCPoint(0, 0));
|
||||
menuItem1->setPosition(CCPoint(0, 0));
|
||||
// 'Fresh' button
|
||||
CCLabelTTF *labelFresh = CCLabelTTF::labelWithString("Fresh", "Arial", 24);
|
||||
labelFresh->setColor(ccc3(255, 0, 0));
|
||||
CCMenuItemLabel *menuItem1 = CCMenuItemLabel::itemWithLabel(labelFresh, this, menu_selector(CCTextureWatcher::actionFresh));
|
||||
menuItem1->setAnchorPoint(ccp(0, 0));
|
||||
menuItem1->setPosition(ccp(0, 0));
|
||||
|
||||
CCMenu *menu1 = CCMenu::menuWithItem(menuItem1);
|
||||
menu1->setAnchorPoint(CCPoint(0, 0));
|
||||
menu1->setPosition(CCPoint(size.width - menuItem1->getContentSize().width - menuItem2->getContentSize().width * 1.5, 0));
|
||||
m_pLayer->addChild(menu1);
|
||||
|
||||
// label page
|
||||
m_labelPage = CCLabelTTF::labelWithString(" ", CCSizeMake(size.width * 0.1, labelFresh->getContentSize().height), CCTextAlignmentCenter, "Arial", 16);
|
||||
m_labelPage->setAnchorPoint(CCPoint(0.5, 0));
|
||||
m_labelPage->setPosition(CCPoint(size.width/2.0, 0));
|
||||
m_pLayer->addChild(m_labelPage, 0);
|
||||
CCMenu *menu1 = CCMenu::menuWithItem(menuItem1);
|
||||
menu1->setAnchorPoint(ccp(0, 0));
|
||||
menu1->setPosition(ccp(size.width - menuItem1->getContentSize().width - menuItem2->getContentSize().width * 1.5, 0));
|
||||
m_pLayer->addChild(menu1);
|
||||
|
||||
// label page
|
||||
m_labelPage = CCLabelTTF::labelWithString(" ", CCSizeMake(size.width * 0.1, labelFresh->getContentSize().height), CCTextAlignmentCenter, "Arial", 16);
|
||||
m_labelPage->setAnchorPoint(ccp(0.5, 0));
|
||||
m_labelPage->setPosition(ccp(size.width/2.0, 0));
|
||||
m_pLayer->addChild(m_labelPage, 0);
|
||||
}
|
||||
CCTextureWatcher::~CCTextureWatcher()
|
||||
{
|
||||
if (m_menuHide)
|
||||
if (m_menuHide)
|
||||
{
|
||||
m_menuHide->removeFromParentAndCleanup(true);
|
||||
m_menuHide->release();
|
||||
|
@ -92,101 +117,101 @@ CCTextureWatcher::~CCTextureWatcher()
|
|||
}
|
||||
|
||||
if (m_pTextures) m_pTextures->release();
|
||||
if (m_pszString) delete []m_pszString;
|
||||
if (m_pszString) delete []m_pszString;
|
||||
}
|
||||
void CCTextureWatcher::actionFresh(CCObject* object)
|
||||
{
|
||||
CCTextureWatcher::sharedTextureWatcher()->fresh();
|
||||
CCTextureWatcher::sharedTextureWatcher()->fresh();
|
||||
}
|
||||
void CCTextureWatcher::actionHide(CCObject *object)
|
||||
{
|
||||
CCTextureWatcher::sharedTextureWatcher()->hide();
|
||||
CCTextureWatcher::sharedTextureWatcher()->hide();
|
||||
}
|
||||
void CCTextureWatcher::fresh()
|
||||
{
|
||||
m_nCurrnetPage = 1;
|
||||
m_bFresh = true;
|
||||
m_nCurrnetPage = 1;
|
||||
m_bFresh = true;
|
||||
}
|
||||
void CCTextureWatcher::hide()
|
||||
{
|
||||
m_bHide = !m_bHide;
|
||||
if (m_bHide)
|
||||
{
|
||||
m_labelHide->setString("Show");
|
||||
m_pLayer->setPosition(CCPoint(0, -m_pLayer->getContentSize().height));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_labelHide->setString("Hide");
|
||||
m_pLayer->setPosition(CCPoint(0, 0));
|
||||
}
|
||||
m_bHide = !m_bHide;
|
||||
if (m_bHide)
|
||||
{
|
||||
m_labelHide->setString("Show");
|
||||
m_pLayer->setPosition(ccp(0, -m_pLayer->getContentSize().height));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_labelHide->setString("Hide");
|
||||
m_pLayer->setPosition(ccp(0, 0));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CCTextureWatcher::dovisit()
|
||||
{
|
||||
if (m_bFresh)
|
||||
{
|
||||
if (m_pTextures)
|
||||
{
|
||||
m_pTextures->removeAllObjects();
|
||||
m_pTextures->release();
|
||||
}
|
||||
if (m_bFresh)
|
||||
{
|
||||
if (m_pTextures)
|
||||
{
|
||||
m_pTextures->removeAllObjects();
|
||||
m_pTextures->release();
|
||||
}
|
||||
|
||||
CCTextureCache::sharedTextureCache()->removeUnusedTextures();
|
||||
m_pTextures = CCTextureCache::sharedTextureCache()->snapshotTextures();
|
||||
m_nTotalPage = (m_pTextures->count() + NUM_PER_PAGE - 1) / NUM_PER_PAGE;
|
||||
if (m_pTextures->count() > 0)
|
||||
{
|
||||
m_bFresh = false;
|
||||
m_pList->reload();
|
||||
}
|
||||
}
|
||||
CCNode *pParent = m_pLayer->getParent();
|
||||
if (pParent)
|
||||
{
|
||||
if (pParent != CCDirector::sharedDirector()->getRunningScene())
|
||||
{
|
||||
pParent->removeChild(m_pLayer, true);
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
|
||||
m_bFresh = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
|
||||
}
|
||||
CCTextureCache::sharedTextureCache()->removeUnusedTextures();
|
||||
m_pTextures = CCTextureCache::sharedTextureCache()->snapshotTextures();
|
||||
m_nTotalPage = (m_pTextures->count() + NUM_PER_PAGE - 1) / NUM_PER_PAGE;
|
||||
if (m_pTextures->count() > 0)
|
||||
{
|
||||
m_bFresh = false;
|
||||
m_pList->reload();
|
||||
}
|
||||
}
|
||||
CCNode *pParent = m_pLayer->getParent();
|
||||
if (pParent)
|
||||
{
|
||||
if (pParent != CCDirector::sharedDirector()->getRunningScene())
|
||||
{
|
||||
pParent->removeChild(m_pLayer, true);
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
|
||||
m_bFresh = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
|
||||
}
|
||||
|
||||
pParent = m_menuHide->getParent();
|
||||
if (pParent)
|
||||
{
|
||||
if (pParent != CCDirector::sharedDirector()->getRunningScene())
|
||||
{
|
||||
pParent->removeChild(m_menuHide, true);
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
|
||||
}
|
||||
pParent = m_menuHide->getParent();
|
||||
if (pParent)
|
||||
{
|
||||
if (pParent != CCDirector::sharedDirector()->getRunningScene())
|
||||
{
|
||||
pParent->removeChild(m_menuHide, true);
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
|
||||
}
|
||||
}
|
||||
void CCTextureWatcher::visit(void* pSender)
|
||||
{
|
||||
CCTextureWatcher *wartcher = (CCTextureWatcher*)pSender;
|
||||
wartcher->dovisit();
|
||||
CCTextureWatcher *wartcher = (CCTextureWatcher*)pSender;
|
||||
wartcher->dovisit();
|
||||
}
|
||||
|
||||
static CCTextureWatcher *g_sharedTextureWatcher = NULL;
|
||||
|
||||
CCTextureWatcher* CCTextureWatcher::sharedTextureWatcher()
|
||||
{
|
||||
if (!g_sharedTextureWatcher)
|
||||
if (!g_sharedTextureWatcher)
|
||||
{
|
||||
g_sharedTextureWatcher = new CCTextureWatcher();
|
||||
g_sharedTextureWatcher = new CCTextureWatcher();
|
||||
}
|
||||
|
||||
return g_sharedTextureWatcher;
|
||||
return g_sharedTextureWatcher;
|
||||
}
|
||||
|
||||
void CCTextureWatcher::purgeTextureWatcher()
|
||||
|
@ -199,141 +224,139 @@ void CCTextureWatcher::purgeTextureWatcher()
|
|||
|
||||
void CCTextureWatcher::setDisplayWatcher(bool bDisplayWatcher)
|
||||
{
|
||||
m_bDisplayWatcher = bDisplayWatcher;
|
||||
if (m_bDisplayWatcher)
|
||||
{
|
||||
if (m_pszString == NULL)
|
||||
{
|
||||
m_pszString = new char[64];
|
||||
}
|
||||
CCDirector::sharedDirector()->setWatcherCallbackFun(this, &CCTextureWatcher::visit);
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->setWatcherCallbackFun(NULL, NULL);
|
||||
m_bDisplayWatcher = bDisplayWatcher;
|
||||
if (m_bDisplayWatcher)
|
||||
{
|
||||
if (m_pszString == NULL)
|
||||
{
|
||||
m_pszString = new char[64];
|
||||
}
|
||||
CCDirector::sharedDirector()->setWatcherCallbackFun(this, &CCTextureWatcher::visit);
|
||||
}
|
||||
else
|
||||
{
|
||||
CCDirector::sharedDirector()->setWatcherCallbackFun(NULL, NULL);
|
||||
purgeTextureWatcher();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CCTextureWatcher::CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
data->nNumberOfRows = m_nTotalPage;
|
||||
}
|
||||
|
||||
void CCTextureWatcher::CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data)
|
||||
void CCTextureWatcher::CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
m_nCurrnetPage = data->nRow + 1;
|
||||
CCListViewCell *cell = CCListViewCell::node();
|
||||
cell->setOpacity(0);
|
||||
cell->setContentSize(m_pList->getContentSize());
|
||||
cell->setSelectionColor(ccc4(0, 0, 0, 0));
|
||||
data->cell = cell;
|
||||
data->nNumberOfRows = m_nTotalPage;
|
||||
}
|
||||
|
||||
CCSize listItemSize = CCSize(m_pList->getContentSize().width / NUM_PER_PAGE, m_pList->getContentSize().height);
|
||||
void CCTextureWatcher::CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
m_nCurrnetPage = data->nRow + 1;
|
||||
CCListViewCell *cell = CCListViewCell::node();
|
||||
cell->setOpacity(0);
|
||||
cell->setContentSize(m_pList->getContentSize());
|
||||
cell->setSelectionColor(ccc4(0, 0, 0, 0));
|
||||
data->cell = cell;
|
||||
|
||||
CCSize size = CCSize(listItemSize.width * 0.9, listItemSize.height * 0.6);
|
||||
CCSize listItemSize = CCSize(m_pList->getContentSize().width / NUM_PER_PAGE, m_pList->getContentSize().height);
|
||||
|
||||
sprintf(m_pszString, "%d/%d", m_nCurrnetPage, m_nTotalPage);
|
||||
m_labelPage->setString(m_pszString);
|
||||
CCSize size = CCSize(listItemSize.width * 0.9, listItemSize.height * 0.6);
|
||||
|
||||
float offX = 0, offY = 0, offsetX = 0, offsetY = 0;
|
||||
CC_UNUSED_PARAM(offsetY);
|
||||
int nCount = 0;
|
||||
int nStart = (m_nCurrnetPage - 1) * NUM_PER_PAGE;
|
||||
int nEnd = nStart + NUM_PER_PAGE;
|
||||
sprintf(m_pszString, "%d/%d", m_nCurrnetPage, m_nTotalPage);
|
||||
m_labelPage->setString(m_pszString);
|
||||
|
||||
float offX = 0, offY = 0, offsetX = 0, offsetY = 0;
|
||||
CC_UNUSED_PARAM(offsetY);
|
||||
int nCount = 0;
|
||||
int nStart = (m_nCurrnetPage - 1) * NUM_PER_PAGE;
|
||||
int nEnd = nStart + NUM_PER_PAGE;
|
||||
|
||||
CCDictElement* pElement = NULL;
|
||||
CCDICT_FOREACH(m_pTextures, pElement)
|
||||
{
|
||||
if (nCount >= nStart && nCount < nEnd)
|
||||
{
|
||||
string key = pElement->getStrKey();
|
||||
CCTexture2D* textrue = (CCTexture2D*)pElement->getObject();
|
||||
//textrue = m_pTextures->objectForKey(*it);
|
||||
if (textrue)
|
||||
{
|
||||
// 引用数
|
||||
sprintf(m_pszString, "[%d]", textrue->retainCount() - 2);
|
||||
CCLabelTTF *labelCount = CCLabelTTF::labelWithString(m_pszString, "Arial", 16);
|
||||
if (textrue->retainCount() - 2 > 0)
|
||||
{
|
||||
labelCount->setColor(ccc3(0, 255, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
labelCount->setColor(ccc3(255, 0, 0));
|
||||
}
|
||||
offX = offsetX + listItemSize.width * 0.5 - labelCount->getContentSize().width * 0.5;
|
||||
offY = (listItemSize.height - size.height) * 0.5 - labelCount->getContentSize().height;
|
||||
labelCount->setPosition(CCPoint(offX, offY));
|
||||
labelCount->setAnchorPoint(CCPoint(0, 0));
|
||||
cell->addChild(labelCount);
|
||||
if (nCount >= nStart && nCount < nEnd)
|
||||
{
|
||||
string key = pElement->getStrKey();
|
||||
CCTexture2D* textrue = (CCTexture2D*)pElement->getObject();
|
||||
//textrue = m_pTextures->objectForKey(*it);
|
||||
if (textrue)
|
||||
{
|
||||
// reference count
|
||||
sprintf(m_pszString, "[%d]", textrue->retainCount() - 2);
|
||||
CCLabelTTF *labelCount = CCLabelTTF::labelWithString(m_pszString, "Arial", 16);
|
||||
if (textrue->retainCount() - 2 > 0)
|
||||
{
|
||||
labelCount->setColor(ccc3(0, 255, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
labelCount->setColor(ccc3(255, 0, 0));
|
||||
}
|
||||
offX = offsetX + listItemSize.width * 0.5 - labelCount->getContentSize().width * 0.5;
|
||||
offY = (listItemSize.height - size.height) * 0.5 - labelCount->getContentSize().height;
|
||||
labelCount->setPosition(ccp(offX, offY));
|
||||
labelCount->setAnchorPoint(ccp(0, 0));
|
||||
cell->addChild(labelCount);
|
||||
|
||||
// 大小
|
||||
sprintf(m_pszString, "%.0f*%.0f", textrue->getContentSize().width, textrue->getContentSize().height);
|
||||
CCLabelTTF *labelSize = CCLabelTTF::labelWithString(m_pszString, "Arial", 16);
|
||||
offX = offsetX + listItemSize.width * 0.5;
|
||||
offY = (listItemSize.height - size.height) * 0.5 + size.height;
|
||||
labelSize->setPosition(CCPoint(offX, offY));
|
||||
labelSize->setAnchorPoint(CCPoint(0.5, 0));
|
||||
cell->addChild(labelSize);
|
||||
// texture size
|
||||
sprintf(m_pszString, "%.0f*%.0f", textrue->getContentSize().width, textrue->getContentSize().height);
|
||||
CCLabelTTF *labelSize = CCLabelTTF::labelWithString(m_pszString, "Arial", 16);
|
||||
offX = offsetX + listItemSize.width * 0.5;
|
||||
offY = (listItemSize.height - size.height) * 0.5 + size.height;
|
||||
labelSize->setPosition(ccp(offX, offY));
|
||||
labelSize->setAnchorPoint(ccp(0.5, 0));
|
||||
cell->addChild(labelSize);
|
||||
|
||||
// 名称
|
||||
int len = key.length();
|
||||
int pos = 0;
|
||||
#if defined(ND_MAC) || defined(ND_IPHONE)
|
||||
pos = key.rfind('/') + 1;
|
||||
#else
|
||||
pos = key.rfind('\\') + 1;
|
||||
int pos2 = key.rfind('/') + 1;
|
||||
pos = pos > pos2 ? pos : pos2;
|
||||
#endif
|
||||
string name = key.substr(pos, len - pos);
|
||||
sprintf(m_pszString, "%s", name.c_str());
|
||||
CCSize dimensions = CCSizeMake(listItemSize.width * 0.9, labelSize->getContentSize().height);
|
||||
CCLabelTTF *labelName = CCLabelTTF::labelWithString(m_pszString, dimensions, CCTextAlignmentCenter, "Arial", 16);
|
||||
offX = offsetX + listItemSize.width * 0.5;
|
||||
offY = offY + labelName->getContentSize().height;
|
||||
labelName->setPosition(CCPoint(offX, offY));
|
||||
labelName->setAnchorPoint(CCPoint(0.5, 0));
|
||||
cell->addChild(labelName);
|
||||
// texture name
|
||||
int len = key.length();
|
||||
int pos = 0;
|
||||
|
||||
CCSprite *sprite = CCSprite::spriteWithTexture(textrue);
|
||||
sprite->setAnchorPoint(CCPoint(0, 0));
|
||||
pos = key.rfind('\\') + 1;
|
||||
int pos2 = key.rfind('/') + 1;
|
||||
pos = pos > pos2 ? pos : pos2;
|
||||
|
||||
string name = key.substr(pos, len - pos);
|
||||
sprintf(m_pszString, "%s", name.c_str());
|
||||
CCSize dimensions = CCSizeMake(listItemSize.width * 0.9, labelSize->getContentSize().height);
|
||||
CCLabelTTF *labelName = CCLabelTTF::labelWithString(m_pszString, dimensions, CCTextAlignmentCenter, "Arial", 16);
|
||||
offX = offsetX + listItemSize.width * 0.5;
|
||||
offY = offY + labelName->getContentSize().height;
|
||||
labelName->setPosition(ccp(offX, offY));
|
||||
labelName->setAnchorPoint(ccp(0.5, 0));
|
||||
cell->addChild(labelName);
|
||||
|
||||
CCSprite *sprite = CCSprite::spriteWithTexture(textrue);
|
||||
sprite->setAnchorPoint(ccp(0, 0));
|
||||
|
||||
CCSize spriteSize = sprite->getContentSize();
|
||||
float scale;
|
||||
if (spriteSize.width < size.width && spriteSize.height < size.height)
|
||||
{
|
||||
scale = 1;
|
||||
}
|
||||
else if (spriteSize.width * size.height >= spriteSize.height * size.width)
|
||||
{
|
||||
scale = size.width / spriteSize.width;
|
||||
}
|
||||
else
|
||||
{
|
||||
scale = size.height / spriteSize.height;
|
||||
}
|
||||
sprite->setScale(scale);
|
||||
spriteSize.width *= scale;
|
||||
spriteSize.height *= scale;
|
||||
offX = offsetX + (listItemSize.width - spriteSize.width) * 0.5;
|
||||
offY = (listItemSize.height - spriteSize.height) * 0.5;
|
||||
sprite->setPosition(ccp(offX, offY));
|
||||
cell->addChild(sprite);
|
||||
offsetX += listItemSize.width;
|
||||
}
|
||||
}
|
||||
++nCount;
|
||||
}
|
||||
}
|
||||
|
||||
void CCTextureWatcher::CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CCSize spriteSize = sprite->getContentSize();
|
||||
float scale;
|
||||
if (spriteSize.width < size.width && spriteSize.height < size.height)
|
||||
{
|
||||
scale = 1;
|
||||
}
|
||||
else if (spriteSize.width * size.height >= spriteSize.height * size.width)
|
||||
{
|
||||
scale = size.width / spriteSize.width;
|
||||
}
|
||||
else
|
||||
{
|
||||
scale = size.height / spriteSize.height;
|
||||
}
|
||||
sprite->setScale(scale);
|
||||
spriteSize.width *= scale;
|
||||
spriteSize.height *= scale;
|
||||
offX = offsetX + (listItemSize.width - spriteSize.width) * 0.5;
|
||||
offY = (listItemSize.height - spriteSize.height) * 0.5;
|
||||
sprite->setPosition(CCPoint(offX, offY));
|
||||
cell->addChild(sprite);
|
||||
offsetX += listItemSize.width;
|
||||
}
|
||||
}
|
||||
++nCount;
|
||||
}
|
||||
}
|
||||
|
||||
void CCTextureWatcher::CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CCTextureWatcher::CCListView_didScrollToRow(CCListView *listView, CCListViewProtrolData *data)
|
||||
{
|
||||
|
||||
|
|
|
@ -1,53 +1,78 @@
|
|||
#ifndef __CCMEMLAYER_H__
|
||||
#define __CCMEMLAYER_H__
|
||||
|
||||
#include "extensions/CCListView/CCListView.h"
|
||||
|
||||
namespace cocos2d { class CCDictionary; }
|
||||
namespace cocos2d { class CCLabelTTF; }
|
||||
namespace cocos2d { class CCMenu; }
|
||||
namespace cocos2d { class CCLayerColor; }
|
||||
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CC_DLL CCTextureWatcher :public CCObject, public CCListViewDelegate
|
||||
{
|
||||
private:
|
||||
CCTextureWatcher();
|
||||
public:
|
||||
virtual ~CCTextureWatcher();
|
||||
|
||||
static CCTextureWatcher* sharedTextureWatcher();
|
||||
static void purgeTextureWatcher();
|
||||
void setDisplayWatcher(bool bDisplayWatcher);
|
||||
void fresh(void);
|
||||
protected:
|
||||
void actionFresh(CCObject* object);
|
||||
void actionHide(CCObject* object);
|
||||
void hide(void);
|
||||
void dovisit(void);
|
||||
static void visit(void* pSender);
|
||||
protected:
|
||||
virtual void CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_didScrollToRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
private:
|
||||
bool m_bDisplayWatcher;
|
||||
bool m_bFresh;
|
||||
bool m_bHide;
|
||||
CCDictionary *m_pTextures;
|
||||
char *m_pszString;
|
||||
int m_nCurrnetPage;
|
||||
int m_nTotalPage;
|
||||
CCLabelTTF *m_labelHide;
|
||||
CCLabelTTF *m_labelPage;
|
||||
CCMenu *m_menuHide;
|
||||
CCLayerColor *m_pLayer;
|
||||
CCListView *m_pList;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
#endif
|
||||
/****************************************************************************
|
||||
Copyright (c) 2010-2012 cocos2d-x.org
|
||||
Copyright (c) 2012 NetGragon
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __CCMEMLAYER_H__
|
||||
#define __CCMEMLAYER_H__
|
||||
|
||||
#include "extensions/CCListView/CCListView.h"
|
||||
|
||||
namespace cocos2d { class CCDictionary; }
|
||||
namespace cocos2d { class CCLabelTTF; }
|
||||
namespace cocos2d { class CCMenu; }
|
||||
namespace cocos2d { class CCLayerColor; }
|
||||
|
||||
|
||||
NS_CC_EXT_BEGIN
|
||||
|
||||
class CC_DLL CCTextureWatcher :public CCObject, public CCListViewDelegate
|
||||
{
|
||||
private:
|
||||
CCTextureWatcher();
|
||||
public:
|
||||
virtual ~CCTextureWatcher();
|
||||
|
||||
static CCTextureWatcher* sharedTextureWatcher();
|
||||
static void purgeTextureWatcher();
|
||||
void setDisplayWatcher(bool bDisplayWatcher);
|
||||
void fresh(void);
|
||||
protected:
|
||||
void actionFresh(CCObject* object);
|
||||
void actionHide(CCObject* object);
|
||||
void hide(void);
|
||||
void dovisit(void);
|
||||
static void visit(void* pSender);
|
||||
protected:
|
||||
virtual void CCListView_numberOfCells(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_cellForRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_didClickCellAtRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
virtual void CCListView_didScrollToRow(CCListView *listView, CCListViewProtrolData *data);
|
||||
private:
|
||||
bool m_bDisplayWatcher;
|
||||
bool m_bFresh;
|
||||
bool m_bHide;
|
||||
CCDictionary *m_pTextures;
|
||||
char *m_pszString;
|
||||
int m_nCurrnetPage;
|
||||
int m_nTotalPage;
|
||||
CCLabelTTF *m_labelHide;
|
||||
CCLabelTTF *m_labelPage;
|
||||
CCMenu *m_menuHide;
|
||||
CCLayerColor *m_pLayer;
|
||||
CCListView *m_pList;
|
||||
};
|
||||
|
||||
NS_CC_EXT_END
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,11 +13,6 @@ public:
|
|||
|
||||
virtual ~CCApplicationProtocol() {}
|
||||
|
||||
/**
|
||||
@brief Implement for initialize OpenGL instance, set source path, etc...
|
||||
*/
|
||||
virtual bool initInstance() = 0;
|
||||
|
||||
/**
|
||||
@brief Implement CCDirector and CCScene init code here.
|
||||
@return true Initialize success, app continue.
|
||||
|
|
|
@ -47,7 +47,7 @@ CCEGLViewProtocol::CCEGLViewProtocol()
|
|||
, m_pDelegate(NULL)
|
||||
, m_fScreenScaleFactor(1.0f)
|
||||
{
|
||||
|
||||
strncpy(m_szViewName, "Cocos2d-x Game", sizeof(m_szViewName));
|
||||
}
|
||||
|
||||
CCEGLViewProtocol::~CCEGLViewProtocol()
|
||||
|
@ -171,6 +171,19 @@ float CCEGLViewProtocol::getMainScreenScale()
|
|||
return -1.0f;
|
||||
}
|
||||
|
||||
void CCEGLViewProtocol::setViewName(const char* pszViewName)
|
||||
{
|
||||
if (pszViewName != NULL && strlen(pszViewName) > 0)
|
||||
{
|
||||
strncpy(m_szViewName, pszViewName, sizeof(m_szViewName));
|
||||
}
|
||||
}
|
||||
|
||||
const char* CCEGLViewProtocol::getViewName()
|
||||
{
|
||||
return m_szViewName;
|
||||
}
|
||||
|
||||
void CCEGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float ys[])
|
||||
{
|
||||
CCSet set;
|
||||
|
|
|
@ -33,7 +33,9 @@ public:
|
|||
virtual void setViewPortInPoints(float x , float y , float w , float h);
|
||||
virtual void setScissorInPoints(float x , float y , float w , float h);
|
||||
virtual float getMainScreenScale();
|
||||
|
||||
virtual void setViewName(const char* pszViewName);
|
||||
const char* getViewName();
|
||||
|
||||
/** handle touch events by default, if you want to custom your handles, please override these functions */
|
||||
virtual void handleTouchesBegin(int num, int ids[], float xs[], float ys[]);
|
||||
virtual void handleTouchesMove(int num, int ids[], float xs[], float ys[]);
|
||||
|
@ -49,6 +51,7 @@ protected:
|
|||
CCSize m_sSizeInPixel;
|
||||
CCSize m_sSizeInPoint;
|
||||
CCRect m_rcViewPort;
|
||||
char m_szViewName[50];
|
||||
};
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -30,11 +30,11 @@ CCApplication::~CCApplication()
|
|||
|
||||
int CCApplication::run()
|
||||
{
|
||||
// Initialize instance and cocos2d.
|
||||
if (! initInstance() || ! applicationDidFinishLaunching())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
// Initialize instance and cocos2d.
|
||||
if (! applicationDidFinishLaunching())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ void CCMessageBox(const char * pszMsg, const char * pszTitle)
|
|||
|
||||
void CCLuaLog(const char * pszFormat)
|
||||
{
|
||||
CCLog(pszFormat);
|
||||
CCLog(pszFormat);
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -47,7 +47,7 @@ CCApplication::~CCApplication()
|
|||
|
||||
int CCApplication::run()
|
||||
{
|
||||
if (initInstance() && applicationDidFinishLaunching())
|
||||
if (applicationDidFinishLaunching())
|
||||
{
|
||||
[[CCDirectorCaller sharedDirectorCaller] startMainLoop];
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ void CCMessageBox(const char * pszMsg, const char * pszTitle)
|
|||
|
||||
void CCLuaLog(const char * pszFormat)
|
||||
{
|
||||
CCLog(pszFormat);
|
||||
CCLog(pszFormat);
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef __JCONFIG_H__
|
||||
#define __JCONFIG_H__
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32)
|
||||
#include "jconfig_win.h"
|
||||
#else
|
||||
#include "jconfig_linux.h"
|
||||
#endif // WIN32
|
||||
|
||||
#endif /* __JCONFIG_H__ */
|
|
@ -1,58 +0,0 @@
|
|||
/* jconfig.h. Generated from jconfig.cfg by configure. */
|
||||
/* jconfig.cfg --- source file edited by configure script */
|
||||
/* see jconfig.txt for explanations */
|
||||
#ifndef __JCONFIG_LINUX_H__
|
||||
#define __JCONFIG_LINUX_H__
|
||||
|
||||
#define HAVE_PROTOTYPES 1
|
||||
#define HAVE_UNSIGNED_CHAR 1
|
||||
#define HAVE_UNSIGNED_SHORT 1
|
||||
/* #undef void */
|
||||
/* #undef const */
|
||||
/* #undef CHAR_IS_UNSIGNED */
|
||||
#define HAVE_STDDEF_H 1
|
||||
#define HAVE_STDLIB_H 1
|
||||
#define HAVE_LOCALE_H 1
|
||||
/* #undef NEED_BSD_STRINGS */
|
||||
/* #undef NEED_SYS_TYPES_H */
|
||||
/* #undef NEED_FAR_POINTERS */
|
||||
/* #undef NEED_SHORT_EXTERNAL_NAMES */
|
||||
/* Define this if you get warnings about undefined structures. */
|
||||
/* #undef INCOMPLETE_TYPES_BROKEN */
|
||||
|
||||
/* Define "boolean" as unsigned char, not int, on Windows systems. */
|
||||
#ifdef _WIN32
|
||||
#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
|
||||
typedef unsigned char boolean;
|
||||
#endif
|
||||
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
|
||||
#endif
|
||||
|
||||
#ifdef JPEG_INTERNALS
|
||||
|
||||
/* #undef RIGHT_SHIFT_IS_UNSIGNED */
|
||||
#define INLINE __inline__
|
||||
/* These are for configuring the JPEG memory manager. */
|
||||
/* #undef DEFAULT_MAX_MEM */
|
||||
/* #undef NO_MKTEMP */
|
||||
|
||||
#endif /* JPEG_INTERNALS */
|
||||
|
||||
#ifdef JPEG_CJPEG_DJPEG
|
||||
|
||||
#define BMP_SUPPORTED /* BMP image file format */
|
||||
#define GIF_SUPPORTED /* GIF image file format */
|
||||
#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
|
||||
/* #undef RLE_SUPPORTED */
|
||||
#define TARGA_SUPPORTED /* Targa image file format */
|
||||
|
||||
/* #undef TWO_FILE_COMMANDLINE */
|
||||
/* #undef NEED_SIGNAL_CATCHER */
|
||||
/* #undef DONT_USE_B_MODE */
|
||||
|
||||
/* Define this if you want percent-done progress reports from cjpeg/djpeg. */
|
||||
/* #undef PROGRESS_REPORT */
|
||||
|
||||
#endif /* JPEG_CJPEG_DJPEG */
|
||||
|
||||
#endif // __JCONFIG_LINUX_H__
|
|
@ -1,49 +0,0 @@
|
|||
/* jconfig.vc --- jconfig.h for Microsoft Visual C++ on Windows 95 or NT. */
|
||||
/* see jconfig.txt for explanations */
|
||||
#ifndef __JCONFIG_WIN_H__
|
||||
#define __JCONFIG_WIN_H__
|
||||
|
||||
#define HAVE_PROTOTYPES
|
||||
#define HAVE_UNSIGNED_CHAR
|
||||
#define HAVE_UNSIGNED_SHORT
|
||||
/* #define void char */
|
||||
/* #define const */
|
||||
#undef CHAR_IS_UNSIGNED
|
||||
#define HAVE_STDDEF_H
|
||||
#define HAVE_STDLIB_H
|
||||
#undef NEED_BSD_STRINGS
|
||||
#undef NEED_SYS_TYPES_H
|
||||
#undef NEED_FAR_POINTERS /* we presume a 32-bit flat memory model */
|
||||
#undef NEED_SHORT_EXTERNAL_NAMES
|
||||
#undef INCOMPLETE_TYPES_BROKEN
|
||||
|
||||
/* Define "boolean" as unsigned char, not int, per Windows custom */
|
||||
#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
|
||||
typedef unsigned char boolean;
|
||||
#endif
|
||||
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
|
||||
|
||||
|
||||
#ifdef JPEG_INTERNALS
|
||||
|
||||
#undef RIGHT_SHIFT_IS_UNSIGNED
|
||||
|
||||
#endif /* JPEG_INTERNALS */
|
||||
|
||||
#ifdef JPEG_CJPEG_DJPEG
|
||||
|
||||
#define BMP_SUPPORTED /* BMP image file format */
|
||||
#define GIF_SUPPORTED /* GIF image file format */
|
||||
#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
|
||||
#undef RLE_SUPPORTED /* Utah RLE image file format */
|
||||
#define TARGA_SUPPORTED /* Targa image file format */
|
||||
|
||||
#define TWO_FILE_COMMANDLINE /* optional */
|
||||
#define USE_SETMODE /* Microsoft has setmode() */
|
||||
#undef NEED_SIGNAL_CATCHER
|
||||
#undef DONT_USE_B_MODE
|
||||
#undef PROGRESS_REPORT /* optional */
|
||||
|
||||
#endif /* JPEG_CJPEG_DJPEG */
|
||||
|
||||
#endif // __JCONFIG_WIN_H__
|
|
@ -1 +0,0 @@
|
|||
09011474ff4df140a34e82e7cdb5c86cf9a522bc
|
|
@ -1 +0,0 @@
|
|||
b595fbd4d9aca89e30aab2b4216457f20ec58b9d
|
|
@ -1 +0,0 @@
|
|||
42f26e695ffe165b38102fd3b9bd0e2be617bf2b
|
|
@ -1 +0,0 @@
|
|||
de0843aae589ec9df43c4beba5c62c08efbeb177
|
|
@ -1 +0,0 @@
|
|||
d3c4c2e8858fd0eb83f2f4f8e501d10394836add
|
|
@ -1 +0,0 @@
|
|||
362db1d6889070f3a653f3d15e245451a6214625
|
|
@ -1 +0,0 @@
|
|||
e3e0e06dbb367746764f6b1146884f6ef75bb5a2
|
|
@ -1,303 +0,0 @@
|
|||
/*
|
||||
* Summary: interface for an HTML 4.0 non-verifying parser
|
||||
* Description: this module implements an HTML 4.0 non-verifying parser
|
||||
* with API compatible with the XML parser ones. It should
|
||||
* be able to parse "real world" HTML, even if severely
|
||||
* broken from a specification point of view.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __HTML_PARSER_H__
|
||||
#define __HTML_PARSER_H__
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Most of the back-end structures from XML and HTML are shared.
|
||||
*/
|
||||
typedef xmlParserCtxt htmlParserCtxt;
|
||||
typedef xmlParserCtxtPtr htmlParserCtxtPtr;
|
||||
typedef xmlParserNodeInfo htmlParserNodeInfo;
|
||||
typedef xmlSAXHandler htmlSAXHandler;
|
||||
typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
|
||||
typedef xmlParserInput htmlParserInput;
|
||||
typedef xmlParserInputPtr htmlParserInputPtr;
|
||||
typedef xmlDocPtr htmlDocPtr;
|
||||
typedef xmlNodePtr htmlNodePtr;
|
||||
|
||||
/*
|
||||
* Internal description of an HTML element, representing HTML 4.01
|
||||
* and XHTML 1.0 (which share the same structure).
|
||||
*/
|
||||
typedef struct _htmlElemDesc htmlElemDesc;
|
||||
typedef htmlElemDesc *htmlElemDescPtr;
|
||||
struct _htmlElemDesc {
|
||||
const char *name; /* The tag name */
|
||||
char startTag; /* Whether the start tag can be implied */
|
||||
char endTag; /* Whether the end tag can be implied */
|
||||
char saveEndTag; /* Whether the end tag should be saved */
|
||||
char empty; /* Is this an empty element ? */
|
||||
char depr; /* Is this a deprecated element ? */
|
||||
char dtd; /* 1: only in Loose DTD, 2: only Frameset one */
|
||||
char isinline; /* is this a block 0 or inline 1 element */
|
||||
const char *desc; /* the description */
|
||||
|
||||
/* NRK Jan.2003
|
||||
* New fields encapsulating HTML structure
|
||||
*
|
||||
* Bugs:
|
||||
* This is a very limited representation. It fails to tell us when
|
||||
* an element *requires* subelements (we only have whether they're
|
||||
* allowed or not), and it doesn't tell us where CDATA and PCDATA
|
||||
* are allowed. Some element relationships are not fully represented:
|
||||
* these are flagged with the word MODIFIER
|
||||
*/
|
||||
const char** subelts; /* allowed sub-elements of this element */
|
||||
const char* defaultsubelt; /* subelement for suggested auto-repair
|
||||
if necessary or NULL */
|
||||
const char** attrs_opt; /* Optional Attributes */
|
||||
const char** attrs_depr; /* Additional deprecated attributes */
|
||||
const char** attrs_req; /* Required attributes */
|
||||
};
|
||||
|
||||
/*
|
||||
* Internal description of an HTML entity.
|
||||
*/
|
||||
typedef struct _htmlEntityDesc htmlEntityDesc;
|
||||
typedef htmlEntityDesc *htmlEntityDescPtr;
|
||||
struct _htmlEntityDesc {
|
||||
unsigned int value; /* the UNICODE value for the character */
|
||||
const char *name; /* The entity name */
|
||||
const char *desc; /* the description */
|
||||
};
|
||||
|
||||
/*
|
||||
* There is only few public functions.
|
||||
*/
|
||||
XMLPUBFUN const htmlElemDesc * XMLCALL
|
||||
htmlTagLookup (const xmlChar *tag);
|
||||
XMLPUBFUN const htmlEntityDesc * XMLCALL
|
||||
htmlEntityLookup(const xmlChar *name);
|
||||
XMLPUBFUN const htmlEntityDesc * XMLCALL
|
||||
htmlEntityValueLookup(unsigned int value);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlIsAutoClosed(htmlDocPtr doc,
|
||||
htmlNodePtr elem);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlAutoCloseTag(htmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
htmlNodePtr elem);
|
||||
XMLPUBFUN const htmlEntityDesc * XMLCALL
|
||||
htmlParseEntityRef(htmlParserCtxtPtr ctxt,
|
||||
const xmlChar **str);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlParseCharRef(htmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlParseElement(htmlParserCtxtPtr ctxt);
|
||||
|
||||
XMLPUBFUN htmlParserCtxtPtr XMLCALL
|
||||
htmlNewParserCtxt(void);
|
||||
|
||||
XMLPUBFUN htmlParserCtxtPtr XMLCALL
|
||||
htmlCreateMemoryParserCtxt(const char *buffer,
|
||||
int size);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlParseDocument(htmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlSAXParseDoc (xmlChar *cur,
|
||||
const char *encoding,
|
||||
htmlSAXHandlerPtr sax,
|
||||
void *userData);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlParseDoc (xmlChar *cur,
|
||||
const char *encoding);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlSAXParseFile(const char *filename,
|
||||
const char *encoding,
|
||||
htmlSAXHandlerPtr sax,
|
||||
void *userData);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlParseFile (const char *filename,
|
||||
const char *encoding);
|
||||
XMLPUBFUN int XMLCALL
|
||||
UTF8ToHtml (unsigned char *out,
|
||||
int *outlen,
|
||||
const unsigned char *in,
|
||||
int *inlen);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlEncodeEntities(unsigned char *out,
|
||||
int *outlen,
|
||||
const unsigned char *in,
|
||||
int *inlen, int quoteChar);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlIsScriptAttribute(const xmlChar *name);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlHandleOmittedElem(int val);
|
||||
|
||||
#ifdef LIBXML_PUSH_ENABLED
|
||||
/**
|
||||
* Interfaces for the Push mode.
|
||||
*/
|
||||
XMLPUBFUN htmlParserCtxtPtr XMLCALL
|
||||
htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
|
||||
void *user_data,
|
||||
const char *chunk,
|
||||
int size,
|
||||
const char *filename,
|
||||
xmlCharEncoding enc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlParseChunk (htmlParserCtxtPtr ctxt,
|
||||
const char *chunk,
|
||||
int size,
|
||||
int terminate);
|
||||
#endif /* LIBXML_PUSH_ENABLED */
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlFreeParserCtxt (htmlParserCtxtPtr ctxt);
|
||||
|
||||
/*
|
||||
* New set of simpler/more flexible APIs
|
||||
*/
|
||||
/**
|
||||
* xmlParserOption:
|
||||
*
|
||||
* This is the set of XML parser options that can be passed down
|
||||
* to the xmlReadDoc() and similar calls.
|
||||
*/
|
||||
typedef enum {
|
||||
HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */
|
||||
HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */
|
||||
HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */
|
||||
HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */
|
||||
HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */
|
||||
HTML_PARSE_NONET = 1<<11,/* Forbid network access */
|
||||
HTML_PARSE_COMPACT = 1<<16 /* compact small text nodes */
|
||||
} htmlParserOption;
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlCtxtReset (htmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlCtxtUseOptions (htmlParserCtxtPtr ctxt,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlReadDoc (const xmlChar *cur,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlReadFile (const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlReadMemory (const char *buffer,
|
||||
int size,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlReadFd (int fd,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlReadIO (xmlInputReadCallback ioread,
|
||||
xmlInputCloseCallback ioclose,
|
||||
void *ioctx,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlCtxtReadDoc (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *cur,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlCtxtReadFile (xmlParserCtxtPtr ctxt,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlCtxtReadMemory (xmlParserCtxtPtr ctxt,
|
||||
const char *buffer,
|
||||
int size,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlCtxtReadFd (xmlParserCtxtPtr ctxt,
|
||||
int fd,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlCtxtReadIO (xmlParserCtxtPtr ctxt,
|
||||
xmlInputReadCallback ioread,
|
||||
xmlInputCloseCallback ioclose,
|
||||
void *ioctx,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
|
||||
/* NRK/Jan2003: further knowledge of HTML structure
|
||||
*/
|
||||
typedef enum {
|
||||
HTML_NA = 0 , /* something we don't check at all */
|
||||
HTML_INVALID = 0x1 ,
|
||||
HTML_DEPRECATED = 0x2 ,
|
||||
HTML_VALID = 0x4 ,
|
||||
HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */
|
||||
} htmlStatus ;
|
||||
|
||||
/* Using htmlElemDesc rather than name here, to emphasise the fact
|
||||
that otherwise there's a lookup overhead
|
||||
*/
|
||||
XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
|
||||
XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
|
||||
XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
|
||||
XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
|
||||
/**
|
||||
* htmlDefaultSubelement:
|
||||
* @elt: HTML element
|
||||
*
|
||||
* Returns the default subelement for this element
|
||||
*/
|
||||
#define htmlDefaultSubelement(elt) elt->defaultsubelt
|
||||
/**
|
||||
* htmlElementAllowedHereDesc:
|
||||
* @parent: HTML parent element
|
||||
* @elt: HTML element
|
||||
*
|
||||
* Checks whether an HTML element description may be a
|
||||
* direct child of the specified element.
|
||||
*
|
||||
* Returns 1 if allowed; 0 otherwise.
|
||||
*/
|
||||
#define htmlElementAllowedHereDesc(parent,elt) \
|
||||
htmlElementAllowedHere((parent), (elt)->name)
|
||||
/**
|
||||
* htmlRequiredAttrs:
|
||||
* @elt: HTML element
|
||||
*
|
||||
* Returns the attributes required for the specified element.
|
||||
*/
|
||||
#define htmlRequiredAttrs(elt) (elt)->attrs_req
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_HTML_ENABLED */
|
||||
#endif /* __HTML_PARSER_H__ */
|
|
@ -1,147 +0,0 @@
|
|||
/*
|
||||
* Summary: specific APIs to process HTML tree, especially serialization
|
||||
* Description: this module implements a few function needed to process
|
||||
* tree in an HTML specific way.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __HTML_TREE_H__
|
||||
#define __HTML_TREE_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/HTMLparser.h>
|
||||
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* HTML_TEXT_NODE:
|
||||
*
|
||||
* Macro. A text node in a HTML document is really implemented
|
||||
* the same way as a text node in an XML document.
|
||||
*/
|
||||
#define HTML_TEXT_NODE XML_TEXT_NODE
|
||||
/**
|
||||
* HTML_ENTITY_REF_NODE:
|
||||
*
|
||||
* Macro. An entity reference in a HTML document is really implemented
|
||||
* the same way as an entity reference in an XML document.
|
||||
*/
|
||||
#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE
|
||||
/**
|
||||
* HTML_COMMENT_NODE:
|
||||
*
|
||||
* Macro. A comment in a HTML document is really implemented
|
||||
* the same way as a comment in an XML document.
|
||||
*/
|
||||
#define HTML_COMMENT_NODE XML_COMMENT_NODE
|
||||
/**
|
||||
* HTML_PRESERVE_NODE:
|
||||
*
|
||||
* Macro. A preserved node in a HTML document is really implemented
|
||||
* the same way as a CDATA section in an XML document.
|
||||
*/
|
||||
#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE
|
||||
/**
|
||||
* HTML_PI_NODE:
|
||||
*
|
||||
* Macro. A processing instruction in a HTML document is really implemented
|
||||
* the same way as a processing instruction in an XML document.
|
||||
*/
|
||||
#define HTML_PI_NODE XML_PI_NODE
|
||||
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlNewDoc (const xmlChar *URI,
|
||||
const xmlChar *ExternalID);
|
||||
XMLPUBFUN htmlDocPtr XMLCALL
|
||||
htmlNewDocNoDtD (const xmlChar *URI,
|
||||
const xmlChar *ExternalID);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
htmlGetMetaEncoding (htmlDocPtr doc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlSetMetaEncoding (htmlDocPtr doc,
|
||||
const xmlChar *encoding);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlDocDumpMemory (xmlDocPtr cur,
|
||||
xmlChar **mem,
|
||||
int *size);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlDocDumpMemoryFormat (xmlDocPtr cur,
|
||||
xmlChar **mem,
|
||||
int *size,
|
||||
int format);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlDocDump (FILE *f,
|
||||
xmlDocPtr cur);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlSaveFile (const char *filename,
|
||||
xmlDocPtr cur);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlNodeDump (xmlBufferPtr buf,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr cur);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlNodeDumpFile (FILE *out,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr cur);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlNodeDumpFileFormat (FILE *out,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr cur,
|
||||
const char *encoding,
|
||||
int format);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlSaveFileEnc (const char *filename,
|
||||
xmlDocPtr cur,
|
||||
const char *encoding);
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlSaveFileFormat (const char *filename,
|
||||
xmlDocPtr cur,
|
||||
const char *encoding,
|
||||
int format);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr cur,
|
||||
const char *encoding,
|
||||
int format);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
|
||||
xmlDocPtr cur,
|
||||
const char *encoding);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
|
||||
xmlDocPtr cur,
|
||||
const char *encoding,
|
||||
int format);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlNodeDumpOutput (xmlOutputBufferPtr buf,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr cur,
|
||||
const char *encoding);
|
||||
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
htmlIsBooleanAttr (const xmlChar *name);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_HTML_ENABLED */
|
||||
|
||||
#endif /* __HTML_TREE_H__ */
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
/*
|
||||
* Summary: Old SAX version 1 handler, deprecated
|
||||
* Description: DEPRECATED set of SAX version 1 interfaces used to
|
||||
* build the DOM tree.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XML_SAX_H__
|
||||
#define __XML_SAX_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/xlink.h>
|
||||
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
getPublicId (void *ctx);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
getSystemId (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
setDocumentLocator (void *ctx,
|
||||
xmlSAXLocatorPtr loc);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
getLineNumber (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
getColumnNumber (void *ctx);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
isStandalone (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
hasInternalSubset (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
hasExternalSubset (void *ctx);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
internalSubset (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
XMLPUBFUN void XMLCALL
|
||||
externalSubset (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
getEntity (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
getParameterEntity (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
resolveEntity (void *ctx,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
entityDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId,
|
||||
xmlChar *content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
attributeDecl (void *ctx,
|
||||
const xmlChar *elem,
|
||||
const xmlChar *fullname,
|
||||
int type,
|
||||
int def,
|
||||
const xmlChar *defaultValue,
|
||||
xmlEnumerationPtr tree);
|
||||
XMLPUBFUN void XMLCALL
|
||||
elementDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
xmlElementContentPtr content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
notationDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId);
|
||||
XMLPUBFUN void XMLCALL
|
||||
unparsedEntityDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId,
|
||||
const xmlChar *notationName);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
startDocument (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
endDocument (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
attribute (void *ctx,
|
||||
const xmlChar *fullname,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN void XMLCALL
|
||||
startElement (void *ctx,
|
||||
const xmlChar *fullname,
|
||||
const xmlChar **atts);
|
||||
XMLPUBFUN void XMLCALL
|
||||
endElement (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN void XMLCALL
|
||||
reference (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN void XMLCALL
|
||||
characters (void *ctx,
|
||||
const xmlChar *ch,
|
||||
int len);
|
||||
XMLPUBFUN void XMLCALL
|
||||
ignorableWhitespace (void *ctx,
|
||||
const xmlChar *ch,
|
||||
int len);
|
||||
XMLPUBFUN void XMLCALL
|
||||
processingInstruction (void *ctx,
|
||||
const xmlChar *target,
|
||||
const xmlChar *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
globalNamespace (void *ctx,
|
||||
const xmlChar *href,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN void XMLCALL
|
||||
setNamespace (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlNsPtr XMLCALL
|
||||
getNamespace (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
checkNamespace (void *ctx,
|
||||
xmlChar *nameSpace);
|
||||
XMLPUBFUN void XMLCALL
|
||||
namespaceDecl (void *ctx,
|
||||
const xmlChar *href,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN void XMLCALL
|
||||
comment (void *ctx,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN void XMLCALL
|
||||
cdataBlock (void *ctx,
|
||||
const xmlChar *value,
|
||||
int len);
|
||||
|
||||
#ifdef LIBXML_SAX1_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr,
|
||||
int warning);
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
|
||||
#endif
|
||||
#ifdef LIBXML_DOCB_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
|
||||
#endif
|
||||
#endif /* LIBXML_SAX1_ENABLED */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_LEGACY_ENABLED */
|
||||
|
||||
#endif /* __XML_SAX_H__ */
|
|
@ -1,176 +0,0 @@
|
|||
/*
|
||||
* Summary: SAX2 parser interface used to build the DOM tree
|
||||
* Description: those are the default SAX2 interfaces used by
|
||||
* the library when building DOM tree.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XML_SAX2_H__
|
||||
#define __XML_SAX2_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/xlink.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlSAX2GetPublicId (void *ctx);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlSAX2GetSystemId (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2SetDocumentLocator (void *ctx,
|
||||
xmlSAXLocatorPtr loc);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAX2GetLineNumber (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAX2GetColumnNumber (void *ctx);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAX2IsStandalone (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAX2HasInternalSubset (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAX2HasExternalSubset (void *ctx);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2InternalSubset (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2ExternalSubset (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlSAX2GetEntity (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlSAX2GetParameterEntity (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
xmlSAX2ResolveEntity (void *ctx,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EntityDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId,
|
||||
xmlChar *content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2AttributeDecl (void *ctx,
|
||||
const xmlChar *elem,
|
||||
const xmlChar *fullname,
|
||||
int type,
|
||||
int def,
|
||||
const xmlChar *defaultValue,
|
||||
xmlEnumerationPtr tree);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2ElementDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
xmlElementContentPtr content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2NotationDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2UnparsedEntityDecl (void *ctx,
|
||||
const xmlChar *name,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId,
|
||||
const xmlChar *notationName);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartDocument (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EndDocument (void *ctx);
|
||||
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartElement (void *ctx,
|
||||
const xmlChar *fullname,
|
||||
const xmlChar **atts);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EndElement (void *ctx,
|
||||
const xmlChar *name);
|
||||
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartElementNs (void *ctx,
|
||||
const xmlChar *localname,
|
||||
const xmlChar *prefix,
|
||||
const xmlChar *URI,
|
||||
int nb_namespaces,
|
||||
const xmlChar **namespaces,
|
||||
int nb_attributes,
|
||||
int nb_defaulted,
|
||||
const xmlChar **attributes);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EndElementNs (void *ctx,
|
||||
const xmlChar *localname,
|
||||
const xmlChar *prefix,
|
||||
const xmlChar *URI);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2Reference (void *ctx,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2Characters (void *ctx,
|
||||
const xmlChar *ch,
|
||||
int len);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2IgnorableWhitespace (void *ctx,
|
||||
const xmlChar *ch,
|
||||
int len);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2ProcessingInstruction (void *ctx,
|
||||
const xmlChar *target,
|
||||
const xmlChar *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2Comment (void *ctx,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2CDataBlock (void *ctx,
|
||||
const xmlChar *value,
|
||||
int len);
|
||||
|
||||
#ifdef LIBXML_SAX1_ENABLED
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAXDefaultVersion (int version);
|
||||
#endif /* LIBXML_SAX1_ENABLED */
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSAXVersion (xmlSAXHandler *hdlr,
|
||||
int version);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
|
||||
int warning);
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
|
||||
XMLPUBFUN void XMLCALL
|
||||
htmlDefaultSAXHandlerInit (void);
|
||||
#endif
|
||||
#ifdef LIBXML_DOCB_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
|
||||
XMLPUBFUN void XMLCALL
|
||||
docbDefaultSAXHandlerInit (void);
|
||||
#endif
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDefaultSAXHandlerInit (void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __XML_SAX2_H__ */
|
|
@ -1,182 +0,0 @@
|
|||
/**
|
||||
* Summary: interfaces to the Catalog handling system
|
||||
* Description: the catalog module implements the support for
|
||||
* XML Catalogs and SGML catalogs
|
||||
*
|
||||
* SGML Open Technical Resolution TR9401:1997.
|
||||
* http://www.jclark.com/sp/catalog.htm
|
||||
*
|
||||
* XML Catalogs Working Draft 06 August 2001
|
||||
* http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_CATALOG_H__
|
||||
#define __XML_CATALOG_H__
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/xmlstring.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef LIBXML_CATALOG_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* XML_CATALOGS_NAMESPACE:
|
||||
*
|
||||
* The namespace for the XML Catalogs elements.
|
||||
*/
|
||||
#define XML_CATALOGS_NAMESPACE \
|
||||
(const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
|
||||
/**
|
||||
* XML_CATALOG_PI:
|
||||
*
|
||||
* The specific XML Catalog Processing Instuction name.
|
||||
*/
|
||||
#define XML_CATALOG_PI \
|
||||
(const xmlChar *) "oasis-xml-catalog"
|
||||
|
||||
/*
|
||||
* The API is voluntarily limited to general cataloging.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_CATA_PREFER_NONE = 0,
|
||||
XML_CATA_PREFER_PUBLIC = 1,
|
||||
XML_CATA_PREFER_SYSTEM
|
||||
} xmlCatalogPrefer;
|
||||
|
||||
typedef enum {
|
||||
XML_CATA_ALLOW_NONE = 0,
|
||||
XML_CATA_ALLOW_GLOBAL = 1,
|
||||
XML_CATA_ALLOW_DOCUMENT = 2,
|
||||
XML_CATA_ALLOW_ALL = 3
|
||||
} xmlCatalogAllow;
|
||||
|
||||
typedef struct _xmlCatalog xmlCatalog;
|
||||
typedef xmlCatalog *xmlCatalogPtr;
|
||||
|
||||
/*
|
||||
* Operations on a given catalog.
|
||||
*/
|
||||
XMLPUBFUN xmlCatalogPtr XMLCALL
|
||||
xmlNewCatalog (int sgml);
|
||||
XMLPUBFUN xmlCatalogPtr XMLCALL
|
||||
xmlLoadACatalog (const char *filename);
|
||||
XMLPUBFUN xmlCatalogPtr XMLCALL
|
||||
xmlLoadSGMLSuperCatalog (const char *filename);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlConvertSGMLCatalog (xmlCatalogPtr catal);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlACatalogAdd (xmlCatalogPtr catal,
|
||||
const xmlChar *type,
|
||||
const xmlChar *orig,
|
||||
const xmlChar *replace);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlACatalogRemove (xmlCatalogPtr catal,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlACatalogResolve (xmlCatalogPtr catal,
|
||||
const xmlChar *pubID,
|
||||
const xmlChar *sysID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlACatalogResolveSystem(xmlCatalogPtr catal,
|
||||
const xmlChar *sysID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlACatalogResolvePublic(xmlCatalogPtr catal,
|
||||
const xmlChar *pubID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlACatalogResolveURI (xmlCatalogPtr catal,
|
||||
const xmlChar *URI);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlACatalogDump (xmlCatalogPtr catal,
|
||||
FILE *out);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeCatalog (xmlCatalogPtr catal);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlCatalogIsEmpty (xmlCatalogPtr catal);
|
||||
|
||||
/*
|
||||
* Global operations.
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlInitializeCatalog (void);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlLoadCatalog (const char *filename);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlLoadCatalogs (const char *paths);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlCatalogCleanup (void);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlCatalogDump (FILE *out);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogResolve (const xmlChar *pubID,
|
||||
const xmlChar *sysID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogResolveSystem (const xmlChar *sysID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogResolvePublic (const xmlChar *pubID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogResolveURI (const xmlChar *URI);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlCatalogAdd (const xmlChar *type,
|
||||
const xmlChar *orig,
|
||||
const xmlChar *replace);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlCatalogRemove (const xmlChar *value);
|
||||
XMLPUBFUN xmlDocPtr XMLCALL
|
||||
xmlParseCatalogFile (const char *filename);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlCatalogConvert (void);
|
||||
|
||||
/*
|
||||
* Strictly minimal interfaces for per-document catalogs used
|
||||
* by the parser.
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlCatalogFreeLocal (void *catalogs);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlCatalogAddLocal (void *catalogs,
|
||||
const xmlChar *URL);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogLocalResolve (void *catalogs,
|
||||
const xmlChar *pubID,
|
||||
const xmlChar *sysID);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlCatalogLocalResolveURI(void *catalogs,
|
||||
const xmlChar *URI);
|
||||
/*
|
||||
* Preference settings.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlCatalogSetDebug (int level);
|
||||
XMLPUBFUN xmlCatalogPrefer XMLCALL
|
||||
xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlCatalogSetDefaults (xmlCatalogAllow allow);
|
||||
XMLPUBFUN xmlCatalogAllow XMLCALL
|
||||
xmlCatalogGetDefaults (void);
|
||||
|
||||
|
||||
/* DEPRECATED interfaces */
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlCatalogGetSystem (const xmlChar *sysID);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlCatalogGetPublic (const xmlChar *pubID);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* LIBXML_CATALOG_ENABLED */
|
||||
#endif /* __XML_CATALOG_H__ */
|
|
@ -1,217 +0,0 @@
|
|||
/*
|
||||
* Summary: Tree debugging APIs
|
||||
* Description: Interfaces to a set of routines used for debugging the tree
|
||||
* produced by the XML parser.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __DEBUG_XML__
|
||||
#define __DEBUG_XML__
|
||||
#include <stdio.h>
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef LIBXML_DEBUG_ENABLED
|
||||
|
||||
#include <libxml/xpath.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The standard Dump routines.
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpString (FILE *output,
|
||||
const xmlChar *str);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpAttr (FILE *output,
|
||||
xmlAttrPtr attr,
|
||||
int depth);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpAttrList (FILE *output,
|
||||
xmlAttrPtr attr,
|
||||
int depth);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpOneNode (FILE *output,
|
||||
xmlNodePtr node,
|
||||
int depth);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpNode (FILE *output,
|
||||
xmlNodePtr node,
|
||||
int depth);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpNodeList (FILE *output,
|
||||
xmlNodePtr node,
|
||||
int depth);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpDocumentHead(FILE *output,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpDocument (FILE *output,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpDTD (FILE *output,
|
||||
xmlDtdPtr dtd);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDebugDumpEntities (FILE *output,
|
||||
xmlDocPtr doc);
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* Checking routines *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlDebugCheckDocument (FILE * output,
|
||||
xmlDocPtr doc);
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* XML shell helpers *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlLsOneNode (FILE *output, xmlNodePtr node);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlLsCountNode (xmlNodePtr node);
|
||||
|
||||
XMLPUBFUN const char * XMLCALL
|
||||
xmlBoolToText (int boolval);
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* The XML shell related structures and functions *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
#ifdef LIBXML_XPATH_ENABLED
|
||||
/**
|
||||
* xmlShellReadlineFunc:
|
||||
* @prompt: a string prompt
|
||||
*
|
||||
* This is a generic signature for the XML shell input function.
|
||||
*
|
||||
* Returns a string which will be freed by the Shell.
|
||||
*/
|
||||
typedef char * (* xmlShellReadlineFunc)(char *prompt);
|
||||
|
||||
/**
|
||||
* xmlShellCtxt:
|
||||
*
|
||||
* A debugging shell context.
|
||||
* TODO: add the defined function tables.
|
||||
*/
|
||||
typedef struct _xmlShellCtxt xmlShellCtxt;
|
||||
typedef xmlShellCtxt *xmlShellCtxtPtr;
|
||||
struct _xmlShellCtxt {
|
||||
char *filename;
|
||||
xmlDocPtr doc;
|
||||
xmlNodePtr node;
|
||||
xmlXPathContextPtr pctxt;
|
||||
int loaded;
|
||||
FILE *output;
|
||||
xmlShellReadlineFunc input;
|
||||
};
|
||||
|
||||
/**
|
||||
* xmlShellCmd:
|
||||
* @ctxt: a shell context
|
||||
* @arg: a string argument
|
||||
* @node: a first node
|
||||
* @node2: a second node
|
||||
*
|
||||
* This is a generic signature for the XML shell functions.
|
||||
*
|
||||
* Returns an int, negative returns indicating errors.
|
||||
*/
|
||||
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlShellPrintXPathError (int errorType,
|
||||
const char *arg);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlShellPrintXPathResult(xmlXPathObjectPtr list);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellList (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellBase (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellDir (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellLoad (xmlShellCtxtPtr ctxt,
|
||||
char *filename,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlShellPrintNode (xmlNodePtr node);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellCat (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellWrite (xmlShellCtxtPtr ctxt,
|
||||
char *filename,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellSave (xmlShellCtxtPtr ctxt,
|
||||
char *filename,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
#ifdef LIBXML_VALID_ENABLED
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellValidate (xmlShellCtxtPtr ctxt,
|
||||
char *dtd,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
#endif /* LIBXML_VALID_ENABLED */
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellDu (xmlShellCtxtPtr ctxt,
|
||||
char *arg,
|
||||
xmlNodePtr tree,
|
||||
xmlNodePtr node2);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlShellPwd (xmlShellCtxtPtr ctxt,
|
||||
char *buffer,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr node2);
|
||||
|
||||
/*
|
||||
* The Shell interface.
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlShell (xmlDocPtr doc,
|
||||
char *filename,
|
||||
xmlShellReadlineFunc input,
|
||||
FILE *output);
|
||||
|
||||
#endif /* LIBXML_XPATH_ENABLED */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_DEBUG_ENABLED */
|
||||
#endif /* __DEBUG_XML__ */
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* Summary: string dictionnary
|
||||
* Description: dictionary of reusable strings, just used to avoid allocation
|
||||
* and freeing operations.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_DICT_H__
|
||||
#define __XML_DICT_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The dictionnary.
|
||||
*/
|
||||
typedef struct _xmlDict xmlDict;
|
||||
typedef xmlDict *xmlDictPtr;
|
||||
|
||||
/*
|
||||
* Constructor and destructor.
|
||||
*/
|
||||
XMLPUBFUN xmlDictPtr XMLCALL
|
||||
xmlDictCreate (void);
|
||||
XMLPUBFUN xmlDictPtr XMLCALL
|
||||
xmlDictCreateSub(xmlDictPtr sub);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlDictReference(xmlDictPtr dict);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDictFree (xmlDictPtr dict);
|
||||
|
||||
/*
|
||||
* Lookup of entry in the dictionnary.
|
||||
*/
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlDictLookup (xmlDictPtr dict,
|
||||
const xmlChar *name,
|
||||
int len);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlDictExists (xmlDictPtr dict,
|
||||
const xmlChar *name,
|
||||
int len);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlDictQLookup (xmlDictPtr dict,
|
||||
const xmlChar *prefix,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlDictOwns (xmlDictPtr dict,
|
||||
const xmlChar *str);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlDictSize (xmlDictPtr dict);
|
||||
|
||||
/*
|
||||
* Cleanup function
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDictCleanup (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* ! __XML_DICT_H__ */
|
|
@ -1,150 +0,0 @@
|
|||
/*
|
||||
* Summary: interface for the XML entities handling
|
||||
* Description: this module provides some of the entity API needed
|
||||
* for the parser and applications.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_ENTITIES_H__
|
||||
#define __XML_ENTITIES_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The different valid entity types.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_INTERNAL_GENERAL_ENTITY = 1,
|
||||
XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
|
||||
XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
|
||||
XML_INTERNAL_PARAMETER_ENTITY = 4,
|
||||
XML_EXTERNAL_PARAMETER_ENTITY = 5,
|
||||
XML_INTERNAL_PREDEFINED_ENTITY = 6
|
||||
} xmlEntityType;
|
||||
|
||||
/*
|
||||
* An unit of storage for an entity, contains the string, the value
|
||||
* and the linkind data needed for the linking in the hash table.
|
||||
*/
|
||||
|
||||
struct _xmlEntity {
|
||||
void *_private; /* application data */
|
||||
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
|
||||
const xmlChar *name; /* Entity name */
|
||||
struct _xmlNode *children; /* First child link */
|
||||
struct _xmlNode *last; /* Last child link */
|
||||
struct _xmlDtd *parent; /* -> DTD */
|
||||
struct _xmlNode *next; /* next sibling link */
|
||||
struct _xmlNode *prev; /* previous sibling link */
|
||||
struct _xmlDoc *doc; /* the containing document */
|
||||
|
||||
xmlChar *orig; /* content without ref substitution */
|
||||
xmlChar *content; /* content or ndata if unparsed */
|
||||
int length; /* the content length */
|
||||
xmlEntityType etype; /* The entity type */
|
||||
const xmlChar *ExternalID; /* External identifier for PUBLIC */
|
||||
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
|
||||
|
||||
struct _xmlEntity *nexte; /* unused */
|
||||
const xmlChar *URI; /* the full URI as computed */
|
||||
int owner; /* does the entity own the childrens */
|
||||
int checked; /* was the entity content checked */
|
||||
/* this is also used to count entites
|
||||
* references done from that entity */
|
||||
};
|
||||
|
||||
/*
|
||||
* All entities are stored in an hash table.
|
||||
* There is 2 separate hash tables for global and parameter entities.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlEntitiesTable;
|
||||
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
|
||||
|
||||
/*
|
||||
* External functions:
|
||||
*/
|
||||
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlInitializePredefinedEntities (void);
|
||||
#endif /* LIBXML_LEGACY_ENABLED */
|
||||
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlNewEntity (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID,
|
||||
const xmlChar *content);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlAddDocEntity (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID,
|
||||
const xmlChar *content);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlAddDtdEntity (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID,
|
||||
const xmlChar *content);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetPredefinedEntity (const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetDocEntity (xmlDocPtr doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetDtdEntity (xmlDocPtr doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetParameterEntity (xmlDocPtr doc,
|
||||
const xmlChar *name);
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlEncodeEntities (xmlDocPtr doc,
|
||||
const xmlChar *input);
|
||||
#endif /* LIBXML_LEGACY_ENABLED */
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlEncodeEntitiesReentrant(xmlDocPtr doc,
|
||||
const xmlChar *input);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlEncodeSpecialChars (xmlDocPtr doc,
|
||||
const xmlChar *input);
|
||||
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
|
||||
xmlCreateEntitiesTable (void);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
|
||||
xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpEntitiesTable (xmlBufferPtr buf,
|
||||
xmlEntitiesTablePtr table);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpEntityDecl (xmlBufferPtr buf,
|
||||
xmlEntityPtr ent);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlCleanupPredefinedEntities(void);
|
||||
#endif /* LIBXML_LEGACY_ENABLED */
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
# endif /* __XML_ENTITIES_H__ */
|
|
@ -1,233 +0,0 @@
|
|||
/*
|
||||
* Summary: Chained hash tables
|
||||
* Description: This module implements the hash table support used in
|
||||
* various places in the library.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Bjorn Reese <bjorn.reese@systematic.dk>
|
||||
*/
|
||||
|
||||
#ifndef __XML_HASH_H__
|
||||
#define __XML_HASH_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The hash table.
|
||||
*/
|
||||
typedef struct _xmlHashTable xmlHashTable;
|
||||
typedef xmlHashTable *xmlHashTablePtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/dict.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Recent version of gcc produce a warning when a function pointer is assigned
|
||||
* to an object pointer, or vice versa. The following macro is a dirty hack
|
||||
* to allow suppression of the warning. If your architecture has function
|
||||
* pointers which are a different size than a void pointer, there may be some
|
||||
* serious trouble within the library.
|
||||
*/
|
||||
/**
|
||||
* XML_CAST_FPTR:
|
||||
* @fptr: pointer to a function
|
||||
*
|
||||
* Macro to do a casting from an object pointer to a
|
||||
* function pointer without encountering a warning from
|
||||
* gcc
|
||||
*
|
||||
* #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
|
||||
* This macro violated ISO C aliasing rules (gcc4 on s390 broke)
|
||||
* so it is disabled now
|
||||
*/
|
||||
|
||||
#define XML_CAST_FPTR(fptr) fptr
|
||||
|
||||
|
||||
/*
|
||||
* function types:
|
||||
*/
|
||||
/**
|
||||
* xmlHashDeallocator:
|
||||
* @payload: the data in the hash
|
||||
* @name: the name associated
|
||||
*
|
||||
* Callback to free data from a hash.
|
||||
*/
|
||||
typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name);
|
||||
/**
|
||||
* xmlHashCopier:
|
||||
* @payload: the data in the hash
|
||||
* @name: the name associated
|
||||
*
|
||||
* Callback to copy data from a hash.
|
||||
*
|
||||
* Returns a copy of the data or NULL in case of error.
|
||||
*/
|
||||
typedef void *(*xmlHashCopier)(void *payload, xmlChar *name);
|
||||
/**
|
||||
* xmlHashScanner:
|
||||
* @payload: the data in the hash
|
||||
* @data: extra scannner data
|
||||
* @name: the name associated
|
||||
*
|
||||
* Callback when scanning data in a hash with the simple scanner.
|
||||
*/
|
||||
typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name);
|
||||
/**
|
||||
* xmlHashScannerFull:
|
||||
* @payload: the data in the hash
|
||||
* @data: extra scannner data
|
||||
* @name: the name associated
|
||||
* @name2: the second name associated
|
||||
* @name3: the third name associated
|
||||
*
|
||||
* Callback when scanning data in a hash with the full scanner.
|
||||
*/
|
||||
typedef void (*xmlHashScannerFull)(void *payload, void *data,
|
||||
const xmlChar *name, const xmlChar *name2,
|
||||
const xmlChar *name3);
|
||||
|
||||
/*
|
||||
* Constructor and destructor.
|
||||
*/
|
||||
XMLPUBFUN xmlHashTablePtr XMLCALL
|
||||
xmlHashCreate (int size);
|
||||
XMLPUBFUN xmlHashTablePtr XMLCALL
|
||||
xmlHashCreateDict(int size,
|
||||
xmlDictPtr dict);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHashFree (xmlHashTablePtr table,
|
||||
xmlHashDeallocator f);
|
||||
|
||||
/*
|
||||
* Add a new entry to the hash table.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashAddEntry (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
void *userdata);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashUpdateEntry(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
void *userdata,
|
||||
xmlHashDeallocator f);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashAddEntry2(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
void *userdata);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashUpdateEntry2(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
void *userdata,
|
||||
xmlHashDeallocator f);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashAddEntry3(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *name3,
|
||||
void *userdata);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashUpdateEntry3(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *name3,
|
||||
void *userdata,
|
||||
xmlHashDeallocator f);
|
||||
|
||||
/*
|
||||
* Remove an entry from the hash table.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
|
||||
xmlHashDeallocator f);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
|
||||
const xmlChar *name2, xmlHashDeallocator f);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
|
||||
const xmlChar *name2, const xmlChar *name3,
|
||||
xmlHashDeallocator f);
|
||||
|
||||
/*
|
||||
* Retrieve the userdata.
|
||||
*/
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashLookup (xmlHashTablePtr table,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashLookup2 (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashLookup3 (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *name3);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashQLookup (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashQLookup2 (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *prefix,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *prefix2);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlHashQLookup3 (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *prefix,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *prefix2,
|
||||
const xmlChar *name3,
|
||||
const xmlChar *prefix3);
|
||||
|
||||
/*
|
||||
* Helpers.
|
||||
*/
|
||||
XMLPUBFUN xmlHashTablePtr XMLCALL
|
||||
xmlHashCopy (xmlHashTablePtr table,
|
||||
xmlHashCopier f);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlHashSize (xmlHashTablePtr table);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHashScan (xmlHashTablePtr table,
|
||||
xmlHashScanner f,
|
||||
void *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHashScan3 (xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *name3,
|
||||
xmlHashScanner f,
|
||||
void *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHashScanFull (xmlHashTablePtr table,
|
||||
xmlHashScannerFull f,
|
||||
void *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHashScanFull3(xmlHashTablePtr table,
|
||||
const xmlChar *name,
|
||||
const xmlChar *name2,
|
||||
const xmlChar *name3,
|
||||
xmlHashScannerFull f,
|
||||
void *data);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* ! __XML_HASH_H__ */
|
|
@ -1,137 +0,0 @@
|
|||
/*
|
||||
* Summary: lists interfaces
|
||||
* Description: this module implement the list support used in
|
||||
* various place in the library.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Gary Pennington <Gary.Pennington@uk.sun.com>
|
||||
*/
|
||||
|
||||
#ifndef __XML_LINK_INCLUDE__
|
||||
#define __XML_LINK_INCLUDE__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct _xmlLink xmlLink;
|
||||
typedef xmlLink *xmlLinkPtr;
|
||||
|
||||
typedef struct _xmlList xmlList;
|
||||
typedef xmlList *xmlListPtr;
|
||||
|
||||
/**
|
||||
* xmlListDeallocator:
|
||||
* @lk: the data to deallocate
|
||||
*
|
||||
* Callback function used to free data from a list.
|
||||
*/
|
||||
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
|
||||
/**
|
||||
* xmlListDataCompare:
|
||||
* @data0: the first data
|
||||
* @data1: the second data
|
||||
*
|
||||
* Callback function used to compare 2 data.
|
||||
*
|
||||
* Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
|
||||
*/
|
||||
typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
|
||||
/**
|
||||
* xmlListWalker:
|
||||
* @data: the data found in the list
|
||||
* @user: extra user provided data to the walker
|
||||
*
|
||||
* Callback function used when walking a list with xmlListWalk().
|
||||
*
|
||||
* Returns 0 to stop walking the list, 1 otherwise.
|
||||
*/
|
||||
typedef int (*xmlListWalker) (const void *data, const void *user);
|
||||
|
||||
/* Creation/Deletion */
|
||||
XMLPUBFUN xmlListPtr XMLCALL
|
||||
xmlListCreate (xmlListDeallocator deallocator,
|
||||
xmlListDataCompare compare);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListDelete (xmlListPtr l);
|
||||
|
||||
/* Basic Operators */
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlListSearch (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlListReverseSearch (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListInsert (xmlListPtr l,
|
||||
void *data) ;
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListAppend (xmlListPtr l,
|
||||
void *data) ;
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListRemoveFirst (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListRemoveLast (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListRemoveAll (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListClear (xmlListPtr l);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListEmpty (xmlListPtr l);
|
||||
XMLPUBFUN xmlLinkPtr XMLCALL
|
||||
xmlListFront (xmlListPtr l);
|
||||
XMLPUBFUN xmlLinkPtr XMLCALL
|
||||
xmlListEnd (xmlListPtr l);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListSize (xmlListPtr l);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListPopFront (xmlListPtr l);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListPopBack (xmlListPtr l);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListPushFront (xmlListPtr l,
|
||||
void *data);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListPushBack (xmlListPtr l,
|
||||
void *data);
|
||||
|
||||
/* Advanced Operators */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListReverse (xmlListPtr l);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListSort (xmlListPtr l);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListWalk (xmlListPtr l,
|
||||
xmlListWalker walker,
|
||||
const void *user);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListReverseWalk (xmlListPtr l,
|
||||
xmlListWalker walker,
|
||||
const void *user);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlListMerge (xmlListPtr l1,
|
||||
xmlListPtr l2);
|
||||
XMLPUBFUN xmlListPtr XMLCALL
|
||||
xmlListDup (const xmlListPtr old);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlListCopy (xmlListPtr cur,
|
||||
const xmlListPtr old);
|
||||
/* Link operators */
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlLinkGetData (xmlLinkPtr lk);
|
||||
|
||||
/* xmlListUnique() */
|
||||
/* xmlListSwap */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __XML_LINK_INCLUDE__ */
|
|
@ -1,143 +0,0 @@
|
|||
/*
|
||||
* Summary: minimal FTP implementation
|
||||
* Description: minimal FTP implementation allowing to fetch resources
|
||||
* like external subset.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __NANO_FTP_H__
|
||||
#define __NANO_FTP_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_FTP_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ftpListCallback:
|
||||
* @userData: user provided data for the callback
|
||||
* @filename: the file name (including "->" when links are shown)
|
||||
* @attrib: the attribute string
|
||||
* @owner: the owner string
|
||||
* @group: the group string
|
||||
* @size: the file size
|
||||
* @links: the link count
|
||||
* @year: the year
|
||||
* @month: the month
|
||||
* @day: the day
|
||||
* @hour: the hour
|
||||
* @minute: the minute
|
||||
*
|
||||
* A callback for the xmlNanoFTPList command.
|
||||
* Note that only one of year and day:minute are specified.
|
||||
*/
|
||||
typedef void (*ftpListCallback) (void *userData,
|
||||
const char *filename, const char *attrib,
|
||||
const char *owner, const char *group,
|
||||
unsigned long size, int links, int year,
|
||||
const char *month, int day, int hour,
|
||||
int minute);
|
||||
/**
|
||||
* ftpDataCallback:
|
||||
* @userData: the user provided context
|
||||
* @data: the data received
|
||||
* @len: its size in bytes
|
||||
*
|
||||
* A callback for the xmlNanoFTPGet command.
|
||||
*/
|
||||
typedef void (*ftpDataCallback) (void *userData,
|
||||
const char *data,
|
||||
int len);
|
||||
|
||||
/*
|
||||
* Init
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoFTPInit (void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoFTPCleanup (void);
|
||||
|
||||
/*
|
||||
* Creating/freeing contexts.
|
||||
*/
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoFTPNewCtxt (const char *URL);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoFTPFreeCtxt (void * ctx);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoFTPConnectTo (const char *server,
|
||||
int port);
|
||||
/*
|
||||
* Opening/closing session connections.
|
||||
*/
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoFTPOpen (const char *URL);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPConnect (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPClose (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPQuit (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoFTPScanProxy (const char *URL);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoFTPProxy (const char *host,
|
||||
int port,
|
||||
const char *user,
|
||||
const char *passwd,
|
||||
int type);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPUpdateURL (void *ctx,
|
||||
const char *URL);
|
||||
|
||||
/*
|
||||
* Rather internal commands.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPGetResponse (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPCheckResponse (void *ctx);
|
||||
|
||||
/*
|
||||
* CD/DIR/GET handlers.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPCwd (void *ctx,
|
||||
const char *directory);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPDele (void *ctx,
|
||||
const char *file);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPGetConnection (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPCloseConnection(void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPList (void *ctx,
|
||||
ftpListCallback callback,
|
||||
void *userData,
|
||||
const char *filename);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPGetSocket (void *ctx,
|
||||
const char *filename);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPGet (void *ctx,
|
||||
ftpDataCallback callback,
|
||||
void *userData,
|
||||
const char *filename);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoFTPRead (void *ctx,
|
||||
void *dest,
|
||||
int len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* LIBXML_FTP_ENABLED */
|
||||
#endif /* __NANO_FTP_H__ */
|
|
@ -1,81 +0,0 @@
|
|||
/*
|
||||
* Summary: minimal HTTP implementation
|
||||
* Description: minimal HTTP implementation allowing to fetch resources
|
||||
* like external subset.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __NANO_HTTP_H__
|
||||
#define __NANO_HTTP_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_HTTP_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoHTTPInit (void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoHTTPCleanup (void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoHTTPScanProxy (const char *URL);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoHTTPFetch (const char *URL,
|
||||
const char *filename,
|
||||
char **contentType);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoHTTPMethod (const char *URL,
|
||||
const char *method,
|
||||
const char *input,
|
||||
char **contentType,
|
||||
const char *headers,
|
||||
int ilen);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoHTTPMethodRedir (const char *URL,
|
||||
const char *method,
|
||||
const char *input,
|
||||
char **contentType,
|
||||
char **redir,
|
||||
const char *headers,
|
||||
int ilen);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoHTTPOpen (const char *URL,
|
||||
char **contentType);
|
||||
XMLPUBFUN void * XMLCALL
|
||||
xmlNanoHTTPOpenRedir (const char *URL,
|
||||
char **contentType,
|
||||
char **redir);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoHTTPReturnCode (void *ctx);
|
||||
XMLPUBFUN const char * XMLCALL
|
||||
xmlNanoHTTPAuthHeader (void *ctx);
|
||||
XMLPUBFUN const char * XMLCALL
|
||||
xmlNanoHTTPRedir (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoHTTPContentLength( void * ctx );
|
||||
XMLPUBFUN const char * XMLCALL
|
||||
xmlNanoHTTPEncoding (void *ctx);
|
||||
XMLPUBFUN const char * XMLCALL
|
||||
xmlNanoHTTPMimeType (void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoHTTPRead (void *ctx,
|
||||
void *dest,
|
||||
int len);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNanoHTTPSave (void *ctxt,
|
||||
const char *filename);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNanoHTTPClose (void *ctx);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_HTTP_ENABLED */
|
||||
#endif /* __NANO_HTTP_H__ */
|
|
@ -1,611 +0,0 @@
|
|||
/*
|
||||
* Summary: internals routines exported by the parser.
|
||||
* Description: this module exports a number of internal parsing routines
|
||||
* they are not really all intended for applications but
|
||||
* can prove useful doing low level processing.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_PARSER_INTERNALS_H__
|
||||
#define __XML_PARSER_INTERNALS_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/HTMLparser.h>
|
||||
#include <libxml/chvalid.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlParserMaxDepth:
|
||||
*
|
||||
* arbitrary depth limit for the XML documents that we allow to
|
||||
* process. This is not a limitation of the parser but a safety
|
||||
* boundary feature, use XML_PARSE_HUGE option to override it.
|
||||
*/
|
||||
XMLPUBVAR unsigned int xmlParserMaxDepth;
|
||||
|
||||
/**
|
||||
* XML_MAX_TEXT_LENGTH:
|
||||
*
|
||||
* Maximum size allowed for a single text node when building a tree.
|
||||
* This is not a limitation of the parser but a safety boundary feature,
|
||||
* use XML_PARSE_HUGE option to override it.
|
||||
*/
|
||||
#define XML_MAX_TEXT_LENGTH 10000000
|
||||
|
||||
/**
|
||||
* XML_MAX_NAMELEN:
|
||||
*
|
||||
* Identifiers can be longer, but this will be more costly
|
||||
* at runtime.
|
||||
*/
|
||||
#define XML_MAX_NAMELEN 100
|
||||
|
||||
/**
|
||||
* INPUT_CHUNK:
|
||||
*
|
||||
* The parser tries to always have that amount of input ready.
|
||||
* One of the point is providing context when reporting errors.
|
||||
*/
|
||||
#define INPUT_CHUNK 250
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* UNICODE version of the macros. *
|
||||
* *
|
||||
************************************************************************/
|
||||
/**
|
||||
* IS_BYTE_CHAR:
|
||||
* @c: an byte value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [2] Char ::= #x9 | #xA | #xD | [#x20...]
|
||||
* any byte character in the accepted range
|
||||
*/
|
||||
#define IS_BYTE_CHAR(c) xmlIsChar_ch(c)
|
||||
|
||||
/**
|
||||
* IS_CHAR:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
|
||||
* | [#x10000-#x10FFFF]
|
||||
* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
|
||||
*/
|
||||
#define IS_CHAR(c) xmlIsCharQ(c)
|
||||
|
||||
/**
|
||||
* IS_CHAR_CH:
|
||||
* @c: an xmlChar (usually an unsigned char)
|
||||
*
|
||||
* Behaves like IS_CHAR on single-byte value
|
||||
*/
|
||||
#define IS_CHAR_CH(c) xmlIsChar_ch(c)
|
||||
|
||||
/**
|
||||
* IS_BLANK:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [3] S ::= (#x20 | #x9 | #xD | #xA)+
|
||||
*/
|
||||
#define IS_BLANK(c) xmlIsBlankQ(c)
|
||||
|
||||
/**
|
||||
* IS_BLANK_CH:
|
||||
* @c: an xmlChar value (normally unsigned char)
|
||||
*
|
||||
* Behaviour same as IS_BLANK
|
||||
*/
|
||||
#define IS_BLANK_CH(c) xmlIsBlank_ch(c)
|
||||
|
||||
/**
|
||||
* IS_BASECHAR:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [85] BaseChar ::= ... long list see REC ...
|
||||
*/
|
||||
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)
|
||||
|
||||
/**
|
||||
* IS_DIGIT:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [88] Digit ::= ... long list see REC ...
|
||||
*/
|
||||
#define IS_DIGIT(c) xmlIsDigitQ(c)
|
||||
|
||||
/**
|
||||
* IS_DIGIT_CH:
|
||||
* @c: an xmlChar value (usually an unsigned char)
|
||||
*
|
||||
* Behaves like IS_DIGIT but with a single byte argument
|
||||
*/
|
||||
#define IS_DIGIT_CH(c) xmlIsDigit_ch(c)
|
||||
|
||||
/**
|
||||
* IS_COMBINING:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [87] CombiningChar ::= ... long list see REC ...
|
||||
*/
|
||||
#define IS_COMBINING(c) xmlIsCombiningQ(c)
|
||||
|
||||
/**
|
||||
* IS_COMBINING_CH:
|
||||
* @c: an xmlChar (usually an unsigned char)
|
||||
*
|
||||
* Always false (all combining chars > 0xff)
|
||||
*/
|
||||
#define IS_COMBINING_CH(c) 0
|
||||
|
||||
/**
|
||||
* IS_EXTENDER:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
*
|
||||
* [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
|
||||
* #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
|
||||
* [#x309D-#x309E] | [#x30FC-#x30FE]
|
||||
*/
|
||||
#define IS_EXTENDER(c) xmlIsExtenderQ(c)
|
||||
|
||||
/**
|
||||
* IS_EXTENDER_CH:
|
||||
* @c: an xmlChar value (usually an unsigned char)
|
||||
*
|
||||
* Behaves like IS_EXTENDER but with a single-byte argument
|
||||
*/
|
||||
#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c)
|
||||
|
||||
/**
|
||||
* IS_IDEOGRAPHIC:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
*
|
||||
* [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
|
||||
*/
|
||||
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
|
||||
|
||||
/**
|
||||
* IS_LETTER:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
*
|
||||
* [84] Letter ::= BaseChar | Ideographic
|
||||
*/
|
||||
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
|
||||
|
||||
/**
|
||||
* IS_LETTER_CH:
|
||||
* @c: an xmlChar value (normally unsigned char)
|
||||
*
|
||||
* Macro behaves like IS_LETTER, but only check base chars
|
||||
*
|
||||
*/
|
||||
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
|
||||
|
||||
/**
|
||||
* IS_ASCII_LETTER:
|
||||
* @c: an xmlChar value
|
||||
*
|
||||
* Macro to check [a-zA-Z]
|
||||
*
|
||||
*/
|
||||
#define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
|
||||
((0x61 <= (c)) && ((c) <= 0x7a)))
|
||||
|
||||
/**
|
||||
* IS_ASCII_DIGIT:
|
||||
* @c: an xmlChar value
|
||||
*
|
||||
* Macro to check [0-9]
|
||||
*
|
||||
*/
|
||||
#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39))
|
||||
|
||||
/**
|
||||
* IS_PUBIDCHAR:
|
||||
* @c: an UNICODE value (int)
|
||||
*
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
*
|
||||
* [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
|
||||
*/
|
||||
#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c)
|
||||
|
||||
/**
|
||||
* IS_PUBIDCHAR_CH:
|
||||
* @c: an xmlChar value (normally unsigned char)
|
||||
*
|
||||
* Same as IS_PUBIDCHAR but for single-byte value
|
||||
*/
|
||||
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
|
||||
|
||||
/**
|
||||
* SKIP_EOL:
|
||||
* @p: and UTF8 string pointer
|
||||
*
|
||||
* Skips the end of line chars.
|
||||
*/
|
||||
#define SKIP_EOL(p) \
|
||||
if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; } \
|
||||
if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }
|
||||
|
||||
/**
|
||||
* MOVETO_ENDTAG:
|
||||
* @p: and UTF8 string pointer
|
||||
*
|
||||
* Skips to the next '>' char.
|
||||
*/
|
||||
#define MOVETO_ENDTAG(p) \
|
||||
while ((*p) && (*(p) != '>')) (p)++
|
||||
|
||||
/**
|
||||
* MOVETO_STARTTAG:
|
||||
* @p: and UTF8 string pointer
|
||||
*
|
||||
* Skips to the next '<' char.
|
||||
*/
|
||||
#define MOVETO_STARTTAG(p) \
|
||||
while ((*p) && (*(p) != '<')) (p)++
|
||||
|
||||
/**
|
||||
* Global variables used for predefined strings.
|
||||
*/
|
||||
XMLPUBVAR const xmlChar xmlStringText[];
|
||||
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
|
||||
XMLPUBVAR const xmlChar xmlStringComment[];
|
||||
|
||||
/*
|
||||
* Function to finish the work of the macros where needed.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL xmlIsLetter (int c);
|
||||
|
||||
/**
|
||||
* Parser context.
|
||||
*/
|
||||
XMLPUBFUN xmlParserCtxtPtr XMLCALL
|
||||
xmlCreateFileParserCtxt (const char *filename);
|
||||
XMLPUBFUN xmlParserCtxtPtr XMLCALL
|
||||
xmlCreateURLParserCtxt (const char *filename,
|
||||
int options);
|
||||
XMLPUBFUN xmlParserCtxtPtr XMLCALL
|
||||
xmlCreateMemoryParserCtxt(const char *buffer,
|
||||
int size);
|
||||
XMLPUBFUN xmlParserCtxtPtr XMLCALL
|
||||
xmlCreateEntityParserCtxt(const xmlChar *URL,
|
||||
const xmlChar *ID,
|
||||
const xmlChar *base);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSwitchEncoding (xmlParserCtxtPtr ctxt,
|
||||
xmlCharEncoding enc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSwitchToEncoding (xmlParserCtxtPtr ctxt,
|
||||
xmlCharEncodingHandlerPtr handler);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt,
|
||||
xmlParserInputPtr input,
|
||||
xmlCharEncodingHandlerPtr handler);
|
||||
|
||||
#ifdef IN_LIBXML
|
||||
/* internal error reporting */
|
||||
XMLPUBFUN void XMLCALL
|
||||
__xmlErrEncoding (xmlParserCtxtPtr ctxt,
|
||||
xmlParserErrors xmlerr,
|
||||
const char *msg,
|
||||
const xmlChar * str1,
|
||||
const xmlChar * str2);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Input Streams.
|
||||
*/
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
xmlNewStringInputStream (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *buffer);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
xmlNewEntityInputStream (xmlParserCtxtPtr ctxt,
|
||||
xmlEntityPtr entity);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPushInput (xmlParserCtxtPtr ctxt,
|
||||
xmlParserInputPtr input);
|
||||
XMLPUBFUN xmlChar XMLCALL
|
||||
xmlPopInput (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeInputStream (xmlParserInputPtr input);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
xmlNewInputFromFile (xmlParserCtxtPtr ctxt,
|
||||
const char *filename);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL
|
||||
xmlNewInputStream (xmlParserCtxtPtr ctxt);
|
||||
|
||||
/**
|
||||
* Namespaces.
|
||||
*/
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlSplitQName (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *name,
|
||||
xmlChar **prefix);
|
||||
|
||||
/**
|
||||
* Generic production rules.
|
||||
*/
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlParseName (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseNmtoken (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseEntityValue (xmlParserCtxtPtr ctxt,
|
||||
xmlChar **orig);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseAttValue (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseSystemLiteral (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParsePubidLiteral (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseCharData (xmlParserCtxtPtr ctxt,
|
||||
int cdata);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseExternalID (xmlParserCtxtPtr ctxt,
|
||||
xmlChar **publicID,
|
||||
int strict);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseComment (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlParsePITarget (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParsePI (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseNotationDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseEntityDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseDefaultDecl (xmlParserCtxtPtr ctxt,
|
||||
xmlChar **value);
|
||||
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
||||
xmlParseNotationType (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
||||
xmlParseEnumerationType (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseEnumeratedType (xmlParserCtxtPtr ctxt,
|
||||
xmlEnumerationPtr *tree);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseAttributeType (xmlParserCtxtPtr ctxt,
|
||||
xmlEnumerationPtr *tree);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlParseElementMixedContentDecl
|
||||
(xmlParserCtxtPtr ctxt,
|
||||
int inputchk);
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlParseElementChildrenContentDecl
|
||||
(xmlParserCtxtPtr ctxt,
|
||||
int inputchk);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *name,
|
||||
xmlElementContentPtr *result);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseElementDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseMarkupDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseCharRef (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlParseEntityRef (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseReference (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParsePEReference (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt);
|
||||
#ifdef LIBXML_SAX1_ENABLED
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlParseAttribute (xmlParserCtxtPtr ctxt,
|
||||
xmlChar **value);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlParseStartTag (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseEndTag (xmlParserCtxtPtr ctxt);
|
||||
#endif /* LIBXML_SAX1_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseCDSect (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseContent (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseElement (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseVersionNum (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseVersionInfo (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseEncName (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlParseEncodingDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseSDDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseXMLDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseTextDecl (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseMisc (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseExternalSubset (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
/**
|
||||
* XML_SUBSTITUTE_NONE:
|
||||
*
|
||||
* If no entities need to be substituted.
|
||||
*/
|
||||
#define XML_SUBSTITUTE_NONE 0
|
||||
/**
|
||||
* XML_SUBSTITUTE_REF:
|
||||
*
|
||||
* Whether general entities need to be substituted.
|
||||
*/
|
||||
#define XML_SUBSTITUTE_REF 1
|
||||
/**
|
||||
* XML_SUBSTITUTE_PEREF:
|
||||
*
|
||||
* Whether parameter entities need to be substituted.
|
||||
*/
|
||||
#define XML_SUBSTITUTE_PEREF 2
|
||||
/**
|
||||
* XML_SUBSTITUTE_BOTH:
|
||||
*
|
||||
* Both general and parameter entities need to be substituted.
|
||||
*/
|
||||
#define XML_SUBSTITUTE_BOTH 3
|
||||
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlStringDecodeEntities (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *str,
|
||||
int what,
|
||||
xmlChar end,
|
||||
xmlChar end2,
|
||||
xmlChar end3);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *str,
|
||||
int len,
|
||||
int what,
|
||||
xmlChar end,
|
||||
xmlChar end2,
|
||||
xmlChar end3);
|
||||
|
||||
/*
|
||||
* Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL nodePush (xmlParserCtxtPtr ctxt,
|
||||
xmlNodePtr value);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL nodePop (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL inputPush (xmlParserCtxtPtr ctxt,
|
||||
xmlParserInputPtr value);
|
||||
XMLPUBFUN xmlParserInputPtr XMLCALL inputPop (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN const xmlChar * XMLCALL namePop (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL namePush (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *value);
|
||||
|
||||
/*
|
||||
* other commodities shared between parser.c and parserInternals.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL xmlSkipBlankChars (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL xmlStringCurrentChar (xmlParserCtxtPtr ctxt,
|
||||
const xmlChar *cur,
|
||||
int *len);
|
||||
XMLPUBFUN void XMLCALL xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL xmlCheckLanguageID (const xmlChar *lang);
|
||||
|
||||
/*
|
||||
* Really core function shared with HTML parser.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL xmlCurrentChar (xmlParserCtxtPtr ctxt,
|
||||
int *len);
|
||||
XMLPUBFUN int XMLCALL xmlCopyCharMultiByte (xmlChar *out,
|
||||
int val);
|
||||
XMLPUBFUN int XMLCALL xmlCopyChar (int len,
|
||||
xmlChar *out,
|
||||
int val);
|
||||
XMLPUBFUN void XMLCALL xmlNextChar (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL xmlParserInputShrink (xmlParserInputPtr in);
|
||||
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
/*
|
||||
* Actually comes from the HTML parser but launched from the init stuff.
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL htmlInitAutoClose (void);
|
||||
XMLPUBFUN htmlParserCtxtPtr XMLCALL htmlCreateFileParserCtxt(const char *filename,
|
||||
const char *encoding);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Specific function to keep track of entities references
|
||||
* and used by the XSLT debugger.
|
||||
*/
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
/**
|
||||
* xmlEntityReferenceFunc:
|
||||
* @ent: the entity
|
||||
* @firstNode: the fist node in the chunk
|
||||
* @lastNode: the last nod in the chunk
|
||||
*
|
||||
* Callback function used when one needs to be able to track back the
|
||||
* provenance of a chunk of nodes inherited from an entity replacement.
|
||||
*/
|
||||
typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent,
|
||||
xmlNodePtr firstNode,
|
||||
xmlNodePtr lastNode);
|
||||
|
||||
XMLPUBFUN void XMLCALL xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func);
|
||||
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlParseQuotedString (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlParseNamespace (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlScanName (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL xmlParserHandleReference(xmlParserCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNamespaceParseQName (xmlParserCtxtPtr ctxt,
|
||||
xmlChar **prefix);
|
||||
/**
|
||||
* Entities
|
||||
*/
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlDecodeEntities (xmlParserCtxtPtr ctxt,
|
||||
int len,
|
||||
int what,
|
||||
xmlChar end,
|
||||
xmlChar end2,
|
||||
xmlChar end3);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlHandleEntity (xmlParserCtxtPtr ctxt,
|
||||
xmlEntityPtr entity);
|
||||
|
||||
#endif /* LIBXML_LEGACY_ENABLED */
|
||||
|
||||
#ifdef IN_LIBXML
|
||||
/*
|
||||
* internal only
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlErrMemory (xmlParserCtxtPtr ctxt,
|
||||
const char *extra);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __XML_PARSER_INTERNALS_H__ */
|
|
@ -1,100 +0,0 @@
|
|||
/*
|
||||
* Summary: pattern expression handling
|
||||
* Description: allows to compile and test pattern expressions for nodes
|
||||
* either in a tree or based on a parser state.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_PATTERN_H__
|
||||
#define __XML_PATTERN_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/dict.h>
|
||||
|
||||
#ifdef LIBXML_PATTERN_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlPattern:
|
||||
*
|
||||
* A compiled (XPath based) pattern to select nodes
|
||||
*/
|
||||
typedef struct _xmlPattern xmlPattern;
|
||||
typedef xmlPattern *xmlPatternPtr;
|
||||
|
||||
/**
|
||||
* xmlPatternFlags:
|
||||
*
|
||||
* This is the set of options affecting the behaviour of pattern
|
||||
* matching with this module
|
||||
*
|
||||
*/
|
||||
typedef enum {
|
||||
XML_PATTERN_DEFAULT = 0, /* simple pattern match */
|
||||
XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */
|
||||
XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */
|
||||
XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */
|
||||
} xmlPatternFlags;
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreePattern (xmlPatternPtr comp);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreePatternList (xmlPatternPtr comp);
|
||||
|
||||
XMLPUBFUN xmlPatternPtr XMLCALL
|
||||
xmlPatterncompile (const xmlChar *pattern,
|
||||
xmlDict *dict,
|
||||
int flags,
|
||||
const xmlChar **namespaces);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPatternMatch (xmlPatternPtr comp,
|
||||
xmlNodePtr node);
|
||||
|
||||
/* streaming interfaces */
|
||||
typedef struct _xmlStreamCtxt xmlStreamCtxt;
|
||||
typedef xmlStreamCtxt *xmlStreamCtxtPtr;
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPatternStreamable (xmlPatternPtr comp);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPatternMaxDepth (xmlPatternPtr comp);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPatternMinDepth (xmlPatternPtr comp);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlPatternFromRoot (xmlPatternPtr comp);
|
||||
XMLPUBFUN xmlStreamCtxtPtr XMLCALL
|
||||
xmlPatternGetStreamCtxt (xmlPatternPtr comp);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlStreamPushNode (xmlStreamCtxtPtr stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns,
|
||||
int nodeType);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlStreamPush (xmlStreamCtxtPtr stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlStreamPushAttr (xmlStreamCtxtPtr stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlStreamPop (xmlStreamCtxtPtr stream);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_PATTERN_ENABLED */
|
||||
|
||||
#endif /* __XML_PATTERN_H__ */
|
|
@ -1,142 +0,0 @@
|
|||
/*
|
||||
* Summary: XML Schemastron implementation
|
||||
* Description: interface to the XML Schematron validity checking.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XML_SCHEMATRON_H__
|
||||
#define __XML_SCHEMATRON_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_SCHEMATRON_ENABLED
|
||||
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */
|
||||
XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */
|
||||
XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */
|
||||
XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */
|
||||
XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */
|
||||
XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */
|
||||
XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */
|
||||
} xmlSchematronValidOptions;
|
||||
|
||||
/**
|
||||
* The schemas related types are kept internal
|
||||
*/
|
||||
typedef struct _xmlSchematron xmlSchematron;
|
||||
typedef xmlSchematron *xmlSchematronPtr;
|
||||
|
||||
/**
|
||||
* xmlSchematronValidityErrorFunc:
|
||||
* @ctx: the validation context
|
||||
* @msg: the message
|
||||
* @...: extra arguments
|
||||
*
|
||||
* Signature of an error callback from a Schematron validation
|
||||
*/
|
||||
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
|
||||
|
||||
/**
|
||||
* xmlSchematronValidityWarningFunc:
|
||||
* @ctx: the validation context
|
||||
* @msg: the message
|
||||
* @...: extra arguments
|
||||
*
|
||||
* Signature of a warning callback from a Schematron validation
|
||||
*/
|
||||
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
|
||||
|
||||
/**
|
||||
* A schemas validation context
|
||||
*/
|
||||
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
|
||||
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
|
||||
|
||||
typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
|
||||
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
|
||||
|
||||
/*
|
||||
* Interfaces for parsing.
|
||||
*/
|
||||
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
|
||||
xmlSchematronNewParserCtxt (const char *URL);
|
||||
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
|
||||
xmlSchematronNewMemParserCtxt(const char *buffer,
|
||||
int size);
|
||||
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
|
||||
xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt);
|
||||
/*****
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
|
||||
xmlSchematronValidityErrorFunc err,
|
||||
xmlSchematronValidityWarningFunc warn,
|
||||
void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
|
||||
xmlSchematronValidityErrorFunc * err,
|
||||
xmlSchematronValidityWarningFunc * warn,
|
||||
void **ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt);
|
||||
*****/
|
||||
XMLPUBFUN xmlSchematronPtr XMLCALL
|
||||
xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronFree (xmlSchematronPtr schema);
|
||||
/*
|
||||
* Interfaces for validating
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronSetValidStructuredErrors(
|
||||
xmlSchematronValidCtxtPtr ctxt,
|
||||
xmlStructuredErrorFunc serror,
|
||||
void *ctx);
|
||||
/******
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt,
|
||||
xmlSchematronValidityErrorFunc err,
|
||||
xmlSchematronValidityWarningFunc warn,
|
||||
void *ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt,
|
||||
xmlSchematronValidityErrorFunc *err,
|
||||
xmlSchematronValidityWarningFunc *warn,
|
||||
void **ctx);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
|
||||
xmlNodePtr elem);
|
||||
*******/
|
||||
|
||||
XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
|
||||
xmlSchematronNewValidCtxt (xmlSchematronPtr schema,
|
||||
int options);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt,
|
||||
xmlDocPtr instance);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_SCHEMATRON_ENABLED */
|
||||
#endif /* __XML_SCHEMATRON_H__ */
|
File diff suppressed because it is too large
Load Diff
|
@ -1,94 +0,0 @@
|
|||
/**
|
||||
* Summary: library of generic URI related routines
|
||||
* Description: library of generic URI related routines
|
||||
* Implements RFC 2396
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_URI_H__
|
||||
#define __XML_URI_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlURI:
|
||||
*
|
||||
* A parsed URI reference. This is a struct containing the various fields
|
||||
* as described in RFC 2396 but separated for further processing.
|
||||
*
|
||||
* Note: query is a deprecated field which is incorrectly unescaped.
|
||||
* query_raw takes precedence over query if the former is set.
|
||||
* See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
|
||||
*/
|
||||
typedef struct _xmlURI xmlURI;
|
||||
typedef xmlURI *xmlURIPtr;
|
||||
struct _xmlURI {
|
||||
char *scheme; /* the URI scheme */
|
||||
char *opaque; /* opaque part */
|
||||
char *authority; /* the authority part */
|
||||
char *server; /* the server part */
|
||||
char *user; /* the user part */
|
||||
int port; /* the port number */
|
||||
char *path; /* the path string */
|
||||
char *query; /* the query string (deprecated - use with caution) */
|
||||
char *fragment; /* the fragment identifier */
|
||||
int cleanup; /* parsing potentially unclean URI */
|
||||
char *query_raw; /* the query string (as it appears in the URI) */
|
||||
};
|
||||
|
||||
/*
|
||||
* This function is in tree.h:
|
||||
* xmlChar * xmlNodeGetBase (xmlDocPtr doc,
|
||||
* xmlNodePtr cur);
|
||||
*/
|
||||
XMLPUBFUN xmlURIPtr XMLCALL
|
||||
xmlCreateURI (void);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlBuildURI (const xmlChar *URI,
|
||||
const xmlChar *base);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlBuildRelativeURI (const xmlChar *URI,
|
||||
const xmlChar *base);
|
||||
XMLPUBFUN xmlURIPtr XMLCALL
|
||||
xmlParseURI (const char *str);
|
||||
XMLPUBFUN xmlURIPtr XMLCALL
|
||||
xmlParseURIRaw (const char *str,
|
||||
int raw);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlParseURIReference (xmlURIPtr uri,
|
||||
const char *str);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlSaveUri (xmlURIPtr uri);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlPrintURI (FILE *stream,
|
||||
xmlURIPtr uri);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlURIEscapeStr (const xmlChar *str,
|
||||
const xmlChar *list);
|
||||
XMLPUBFUN char * XMLCALL
|
||||
xmlURIUnescapeString (const char *str,
|
||||
int len,
|
||||
char *target);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNormalizeURIPath (char *path);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlURIEscape (const xmlChar *str);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeURI (xmlURIPtr uri);
|
||||
XMLPUBFUN xmlChar* XMLCALL
|
||||
xmlCanonicPath (const xmlChar *path);
|
||||
XMLPUBFUN xmlChar* XMLCALL
|
||||
xmlPathToURI (const xmlChar *path);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __XML_URI_H__ */
|
|
@ -1,458 +0,0 @@
|
|||
/*
|
||||
* Summary: The DTD validation
|
||||
* Description: API for the DTD handling and the validity checking
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XML_VALID_H__
|
||||
#define __XML_VALID_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/xmlerror.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/list.h>
|
||||
#include <libxml/xmlautomata.h>
|
||||
#include <libxml/xmlregexp.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Validation state added for non-determinist content model.
|
||||
*/
|
||||
typedef struct _xmlValidState xmlValidState;
|
||||
typedef xmlValidState *xmlValidStatePtr;
|
||||
|
||||
/**
|
||||
* xmlValidityErrorFunc:
|
||||
* @ctx: usually an xmlValidCtxtPtr to a validity error context,
|
||||
* but comes from ctxt->userData (which normally contains such
|
||||
* a pointer); ctxt->userData can be changed by the user.
|
||||
* @msg: the string to format *printf like vararg
|
||||
* @...: remaining arguments to the format
|
||||
*
|
||||
* Callback called when a validity error is found. This is a message
|
||||
* oriented function similar to an *printf function.
|
||||
*/
|
||||
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
|
||||
const char *msg,
|
||||
...) ATTRIBUTE_PRINTF(2,3);
|
||||
|
||||
/**
|
||||
* xmlValidityWarningFunc:
|
||||
* @ctx: usually an xmlValidCtxtPtr to a validity error context,
|
||||
* but comes from ctxt->userData (which normally contains such
|
||||
* a pointer); ctxt->userData can be changed by the user.
|
||||
* @msg: the string to format *printf like vararg
|
||||
* @...: remaining arguments to the format
|
||||
*
|
||||
* Callback called when a validity warning is found. This is a message
|
||||
* oriented function similar to an *printf function.
|
||||
*/
|
||||
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
|
||||
const char *msg,
|
||||
...) ATTRIBUTE_PRINTF(2,3);
|
||||
|
||||
#ifdef IN_LIBXML
|
||||
/**
|
||||
* XML_CTXT_FINISH_DTD_0:
|
||||
*
|
||||
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
||||
*/
|
||||
#define XML_CTXT_FINISH_DTD_0 0xabcd1234
|
||||
/**
|
||||
* XML_CTXT_FINISH_DTD_1:
|
||||
*
|
||||
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
||||
*/
|
||||
#define XML_CTXT_FINISH_DTD_1 0xabcd1235
|
||||
#endif
|
||||
|
||||
/*
|
||||
* xmlValidCtxt:
|
||||
* An xmlValidCtxt is used for error reporting when validating.
|
||||
*/
|
||||
typedef struct _xmlValidCtxt xmlValidCtxt;
|
||||
typedef xmlValidCtxt *xmlValidCtxtPtr;
|
||||
struct _xmlValidCtxt {
|
||||
void *userData; /* user specific data block */
|
||||
xmlValidityErrorFunc error; /* the callback in case of errors */
|
||||
xmlValidityWarningFunc warning; /* the callback in case of warning */
|
||||
|
||||
/* Node analysis stack used when validating within entities */
|
||||
xmlNodePtr node; /* Current parsed Node */
|
||||
int nodeNr; /* Depth of the parsing stack */
|
||||
int nodeMax; /* Max depth of the parsing stack */
|
||||
xmlNodePtr *nodeTab; /* array of nodes */
|
||||
|
||||
unsigned int finishDtd; /* finished validating the Dtd ? */
|
||||
xmlDocPtr doc; /* the document */
|
||||
int valid; /* temporary validity check result */
|
||||
|
||||
/* state state used for non-determinist content validation */
|
||||
xmlValidState *vstate; /* current state */
|
||||
int vstateNr; /* Depth of the validation stack */
|
||||
int vstateMax; /* Max depth of the validation stack */
|
||||
xmlValidState *vstateTab; /* array of validation states */
|
||||
|
||||
#ifdef LIBXML_REGEXP_ENABLED
|
||||
xmlAutomataPtr am; /* the automata */
|
||||
xmlAutomataStatePtr state; /* used to build the automata */
|
||||
#else
|
||||
void *am;
|
||||
void *state;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
* ALL notation declarations are stored in a table.
|
||||
* There is one table per DTD.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlNotationTable;
|
||||
typedef xmlNotationTable *xmlNotationTablePtr;
|
||||
|
||||
/*
|
||||
* ALL element declarations are stored in a table.
|
||||
* There is one table per DTD.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlElementTable;
|
||||
typedef xmlElementTable *xmlElementTablePtr;
|
||||
|
||||
/*
|
||||
* ALL attribute declarations are stored in a table.
|
||||
* There is one table per DTD.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlAttributeTable;
|
||||
typedef xmlAttributeTable *xmlAttributeTablePtr;
|
||||
|
||||
/*
|
||||
* ALL IDs attributes are stored in a table.
|
||||
* There is one table per document.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlIDTable;
|
||||
typedef xmlIDTable *xmlIDTablePtr;
|
||||
|
||||
/*
|
||||
* ALL Refs attributes are stored in a table.
|
||||
* There is one table per document.
|
||||
*/
|
||||
|
||||
typedef struct _xmlHashTable xmlRefTable;
|
||||
typedef xmlRefTable *xmlRefTablePtr;
|
||||
|
||||
/* Notation */
|
||||
XMLPUBFUN xmlNotationPtr XMLCALL
|
||||
xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
|
||||
xmlDtdPtr dtd,
|
||||
const xmlChar *name,
|
||||
const xmlChar *PublicID,
|
||||
const xmlChar *SystemID);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlNotationTablePtr XMLCALL
|
||||
xmlCopyNotationTable (xmlNotationTablePtr table);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeNotationTable (xmlNotationTablePtr table);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpNotationDecl (xmlBufferPtr buf,
|
||||
xmlNotationPtr nota);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpNotationTable (xmlBufferPtr buf,
|
||||
xmlNotationTablePtr table);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
|
||||
/* Element Content */
|
||||
/* the non Doc version are being deprecated */
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlNewElementContent (const xmlChar *name,
|
||||
xmlElementContentType type);
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlCopyElementContent (xmlElementContentPtr content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeElementContent (xmlElementContentPtr cur);
|
||||
/* the new versions with doc argument */
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlNewDocElementContent (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
xmlElementContentType type);
|
||||
XMLPUBFUN xmlElementContentPtr XMLCALL
|
||||
xmlCopyDocElementContent(xmlDocPtr doc,
|
||||
xmlElementContentPtr content);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeDocElementContent(xmlDocPtr doc,
|
||||
xmlElementContentPtr cur);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSnprintfElementContent(char *buf,
|
||||
int size,
|
||||
xmlElementContentPtr content,
|
||||
int englob);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
/* DEPRECATED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSprintfElementContent(char *buf,
|
||||
xmlElementContentPtr content,
|
||||
int englob);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
/* DEPRECATED */
|
||||
|
||||
/* Element */
|
||||
XMLPUBFUN xmlElementPtr XMLCALL
|
||||
xmlAddElementDecl (xmlValidCtxtPtr ctxt,
|
||||
xmlDtdPtr dtd,
|
||||
const xmlChar *name,
|
||||
xmlElementTypeVal type,
|
||||
xmlElementContentPtr content);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlElementTablePtr XMLCALL
|
||||
xmlCopyElementTable (xmlElementTablePtr table);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeElementTable (xmlElementTablePtr table);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpElementTable (xmlBufferPtr buf,
|
||||
xmlElementTablePtr table);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpElementDecl (xmlBufferPtr buf,
|
||||
xmlElementPtr elem);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
|
||||
/* Enumeration */
|
||||
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
||||
xmlCreateEnumeration (const xmlChar *name);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeEnumeration (xmlEnumerationPtr cur);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
||||
xmlCopyEnumeration (xmlEnumerationPtr cur);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
|
||||
/* Attribute */
|
||||
XMLPUBFUN xmlAttributePtr XMLCALL
|
||||
xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
|
||||
xmlDtdPtr dtd,
|
||||
const xmlChar *elem,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns,
|
||||
xmlAttributeType type,
|
||||
xmlAttributeDefault def,
|
||||
const xmlChar *defaultValue,
|
||||
xmlEnumerationPtr tree);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlAttributeTablePtr XMLCALL
|
||||
xmlCopyAttributeTable (xmlAttributeTablePtr table);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeAttributeTable (xmlAttributeTablePtr table);
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpAttributeTable (xmlBufferPtr buf,
|
||||
xmlAttributeTablePtr table);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlDumpAttributeDecl (xmlBufferPtr buf,
|
||||
xmlAttributePtr attr);
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
|
||||
/* IDs */
|
||||
XMLPUBFUN xmlIDPtr XMLCALL
|
||||
xmlAddID (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
const xmlChar *value,
|
||||
xmlAttrPtr attr);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeIDTable (xmlIDTablePtr table);
|
||||
XMLPUBFUN xmlAttrPtr XMLCALL
|
||||
xmlGetID (xmlDocPtr doc,
|
||||
const xmlChar *ID);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlIsID (xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
xmlAttrPtr attr);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRemoveID (xmlDocPtr doc,
|
||||
xmlAttrPtr attr);
|
||||
|
||||
/* IDREFs */
|
||||
XMLPUBFUN xmlRefPtr XMLCALL
|
||||
xmlAddRef (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
const xmlChar *value,
|
||||
xmlAttrPtr attr);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeRefTable (xmlRefTablePtr table);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlIsRef (xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
xmlAttrPtr attr);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRemoveRef (xmlDocPtr doc,
|
||||
xmlAttrPtr attr);
|
||||
XMLPUBFUN xmlListPtr XMLCALL
|
||||
xmlGetRefs (xmlDocPtr doc,
|
||||
const xmlChar *ID);
|
||||
|
||||
/**
|
||||
* The public function calls related to validity checking.
|
||||
*/
|
||||
#ifdef LIBXML_VALID_ENABLED
|
||||
/* Allocate/Release Validation Contexts */
|
||||
XMLPUBFUN xmlValidCtxtPtr XMLCALL
|
||||
xmlNewValidCtxt(void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeValidCtxt(xmlValidCtxtPtr);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateRoot (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlElementPtr elem);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlValidNormalizeAttributeValue(xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
const xmlChar *name,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
const xmlChar *name,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlAttributePtr attr);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateAttributeValue(xmlAttributeType type,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNotationPtr nota);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateDtd (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlDtdPtr dtd);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateDocument (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateElement (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateOneElement (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
xmlAttrPtr attr,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
const xmlChar *prefix,
|
||||
xmlNsPtr ns,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc);
|
||||
#endif /* LIBXML_VALID_ENABLED */
|
||||
|
||||
#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
const xmlChar *notationName);
|
||||
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlIsMixedElement (xmlDocPtr doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlAttributePtr XMLCALL
|
||||
xmlGetDtdAttrDesc (xmlDtdPtr dtd,
|
||||
const xmlChar *elem,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlAttributePtr XMLCALL
|
||||
xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
|
||||
const xmlChar *elem,
|
||||
const xmlChar *name,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN xmlNotationPtr XMLCALL
|
||||
xmlGetDtdNotationDesc (xmlDtdPtr dtd,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlElementPtr XMLCALL
|
||||
xmlGetDtdQElementDesc (xmlDtdPtr dtd,
|
||||
const xmlChar *name,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN xmlElementPtr XMLCALL
|
||||
xmlGetDtdElementDesc (xmlDtdPtr dtd,
|
||||
const xmlChar *name);
|
||||
|
||||
#ifdef LIBXML_VALID_ENABLED
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidGetPotentialChildren(xmlElementContent *ctree,
|
||||
const xmlChar **names,
|
||||
int *len,
|
||||
int max);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidGetValidElements(xmlNode *prev,
|
||||
xmlNode *next,
|
||||
const xmlChar **names,
|
||||
int max);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNameValue (const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNamesValue (const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNmtokenValue (const xmlChar *value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNmtokensValue(const xmlChar *value);
|
||||
|
||||
#ifdef LIBXML_REGEXP_ENABLED
|
||||
/*
|
||||
* Validation based on the regexp support
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
|
||||
xmlElementPtr elem);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidatePushElement (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
const xmlChar *qname);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidatePushCData (xmlValidCtxtPtr ctxt,
|
||||
const xmlChar *data,
|
||||
int len);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidatePopElement (xmlValidCtxtPtr ctxt,
|
||||
xmlDocPtr doc,
|
||||
xmlNodePtr elem,
|
||||
const xmlChar *qname);
|
||||
#endif /* LIBXML_REGEXP_ENABLED */
|
||||
#endif /* LIBXML_VALID_ENABLED */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __XML_VALID_H__ */
|
|
@ -1,146 +0,0 @@
|
|||
/*
|
||||
* Summary: API to build regexp automata
|
||||
* Description: the API to build regexp automata
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_AUTOMATA_H__
|
||||
#define __XML_AUTOMATA_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
#ifdef LIBXML_REGEXP_ENABLED
|
||||
#ifdef LIBXML_AUTOMATA_ENABLED
|
||||
#include <libxml/xmlregexp.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlAutomataPtr:
|
||||
*
|
||||
* A libxml automata description, It can be compiled into a regexp
|
||||
*/
|
||||
typedef struct _xmlAutomata xmlAutomata;
|
||||
typedef xmlAutomata *xmlAutomataPtr;
|
||||
|
||||
/**
|
||||
* xmlAutomataStatePtr:
|
||||
*
|
||||
* A state int the automata description,
|
||||
*/
|
||||
typedef struct _xmlAutomataState xmlAutomataState;
|
||||
typedef xmlAutomataState *xmlAutomataStatePtr;
|
||||
|
||||
/*
|
||||
* Building API
|
||||
*/
|
||||
XMLPUBFUN xmlAutomataPtr XMLCALL
|
||||
xmlNewAutomata (void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeAutomata (xmlAutomataPtr am);
|
||||
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataGetInitState (xmlAutomataPtr am);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlAutomataSetFinalState (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr state);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewState (xmlAutomataPtr am);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewTransition (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewTransition2 (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
const xmlChar *token2,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewNegTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
const xmlChar *token2,
|
||||
void *data);
|
||||
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewCountTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
int min,
|
||||
int max,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewCountTrans2 (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
const xmlChar *token2,
|
||||
int min,
|
||||
int max,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewOnceTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
int min,
|
||||
int max,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
const xmlChar *token,
|
||||
const xmlChar *token2,
|
||||
int min,
|
||||
int max,
|
||||
void *data);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewAllTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
int lax);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewEpsilon (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewCountedTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
int counter);
|
||||
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
||||
xmlAutomataNewCounterTrans (xmlAutomataPtr am,
|
||||
xmlAutomataStatePtr from,
|
||||
xmlAutomataStatePtr to,
|
||||
int counter);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlAutomataNewCounter (xmlAutomataPtr am,
|
||||
int min,
|
||||
int max);
|
||||
|
||||
XMLPUBFUN xmlRegexpPtr XMLCALL
|
||||
xmlAutomataCompile (xmlAutomataPtr am);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlAutomataIsDeterminist (xmlAutomataPtr am);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_AUTOMATA_ENABLED */
|
||||
#endif /* LIBXML_REGEXP_ENABLED */
|
||||
|
||||
#endif /* __XML_AUTOMATA_H__ */
|
|
@ -1,424 +0,0 @@
|
|||
/*
|
||||
* Summary: the XMLReader implementation
|
||||
* Description: API of the XML streaming API based on C# interfaces.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_XMLREADER_H__
|
||||
#define __XML_XMLREADER_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/xmlIO.h>
|
||||
#ifdef LIBXML_SCHEMAS_ENABLED
|
||||
#include <libxml/relaxng.h>
|
||||
#include <libxml/xmlschemas.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlParserSeverities:
|
||||
*
|
||||
* How severe an error callback is when the per-reader error callback API
|
||||
* is used.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
|
||||
XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
|
||||
XML_PARSER_SEVERITY_WARNING = 3,
|
||||
XML_PARSER_SEVERITY_ERROR = 4
|
||||
} xmlParserSeverities;
|
||||
|
||||
#ifdef LIBXML_READER_ENABLED
|
||||
|
||||
/**
|
||||
* xmlTextReaderMode:
|
||||
*
|
||||
* Internal state values for the reader.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_TEXTREADER_MODE_INITIAL = 0,
|
||||
XML_TEXTREADER_MODE_INTERACTIVE = 1,
|
||||
XML_TEXTREADER_MODE_ERROR = 2,
|
||||
XML_TEXTREADER_MODE_EOF =3,
|
||||
XML_TEXTREADER_MODE_CLOSED = 4,
|
||||
XML_TEXTREADER_MODE_READING = 5
|
||||
} xmlTextReaderMode;
|
||||
|
||||
/**
|
||||
* xmlParserProperties:
|
||||
*
|
||||
* Some common options to use with xmlTextReaderSetParserProp, but it
|
||||
* is better to use xmlParserOption and the xmlReaderNewxxx and
|
||||
* xmlReaderForxxx APIs now.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_PARSER_LOADDTD = 1,
|
||||
XML_PARSER_DEFAULTATTRS = 2,
|
||||
XML_PARSER_VALIDATE = 3,
|
||||
XML_PARSER_SUBST_ENTITIES = 4
|
||||
} xmlParserProperties;
|
||||
|
||||
/**
|
||||
* xmlReaderTypes:
|
||||
*
|
||||
* Predefined constants for the different types of nodes.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_READER_TYPE_NONE = 0,
|
||||
XML_READER_TYPE_ELEMENT = 1,
|
||||
XML_READER_TYPE_ATTRIBUTE = 2,
|
||||
XML_READER_TYPE_TEXT = 3,
|
||||
XML_READER_TYPE_CDATA = 4,
|
||||
XML_READER_TYPE_ENTITY_REFERENCE = 5,
|
||||
XML_READER_TYPE_ENTITY = 6,
|
||||
XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
|
||||
XML_READER_TYPE_COMMENT = 8,
|
||||
XML_READER_TYPE_DOCUMENT = 9,
|
||||
XML_READER_TYPE_DOCUMENT_TYPE = 10,
|
||||
XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
|
||||
XML_READER_TYPE_NOTATION = 12,
|
||||
XML_READER_TYPE_WHITESPACE = 13,
|
||||
XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
|
||||
XML_READER_TYPE_END_ELEMENT = 15,
|
||||
XML_READER_TYPE_END_ENTITY = 16,
|
||||
XML_READER_TYPE_XML_DECLARATION = 17
|
||||
} xmlReaderTypes;
|
||||
|
||||
/**
|
||||
* xmlTextReader:
|
||||
*
|
||||
* Structure for an xmlReader context.
|
||||
*/
|
||||
typedef struct _xmlTextReader xmlTextReader;
|
||||
|
||||
/**
|
||||
* xmlTextReaderPtr:
|
||||
*
|
||||
* Pointer to an xmlReader context.
|
||||
*/
|
||||
typedef xmlTextReader *xmlTextReaderPtr;
|
||||
|
||||
/*
|
||||
* Constructors & Destructor
|
||||
*/
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlNewTextReader (xmlParserInputBufferPtr input,
|
||||
const char *URI);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlNewTextReaderFilename(const char *URI);
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeTextReader (xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderSetup(xmlTextReaderPtr reader,
|
||||
xmlParserInputBufferPtr input, const char *URL,
|
||||
const char *encoding, int options);
|
||||
|
||||
/*
|
||||
* Iterators
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderRead (xmlTextReaderPtr reader);
|
||||
|
||||
#ifdef LIBXML_WRITER_ENABLED
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
|
||||
#endif
|
||||
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderReadString (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* Attributes of the node
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderDepth (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderHasValue(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderIsDefault (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderNodeType (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderReadState (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstName (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstString (xmlTextReaderPtr reader,
|
||||
const xmlChar *str);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstValue (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* use the Const version of the routine for
|
||||
* better performance and simpler code
|
||||
*/
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderBaseUri (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderLocalName (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderName (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderPrefix (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderXmlLang (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderValue (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* Methods of the XmlTextReader
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderClose (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
|
||||
int no);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
|
||||
const xmlChar *localName,
|
||||
const xmlChar *namespaceURI);
|
||||
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
|
||||
xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
|
||||
const xmlChar *prefix);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
|
||||
int no);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
|
||||
const xmlChar *localName,
|
||||
const xmlChar *namespaceURI);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderNormalization (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* Extensions
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
|
||||
int prop,
|
||||
int value);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
|
||||
int prop);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlTextReaderPreserve (xmlTextReaderPtr reader);
|
||||
#ifdef LIBXML_PATTERN_ENABLED
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
|
||||
const xmlChar *pattern,
|
||||
const xmlChar **namespaces);
|
||||
#endif /* LIBXML_PATTERN_ENABLED */
|
||||
XMLPUBFUN xmlDocPtr XMLCALL
|
||||
xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlTextReaderExpand (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderNext (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderNextSibling (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderIsValid (xmlTextReaderPtr reader);
|
||||
#ifdef LIBXML_SCHEMAS_ENABLED
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
|
||||
const char *rng);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
|
||||
xmlRelaxNGPtr schema);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
|
||||
const char *xsd);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
|
||||
xmlSchemaValidCtxtPtr ctxt,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderSetSchema (xmlTextReaderPtr reader,
|
||||
xmlSchemaPtr schema);
|
||||
#endif
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderStandalone (xmlTextReaderPtr reader);
|
||||
|
||||
|
||||
/*
|
||||
* Index lookup
|
||||
*/
|
||||
XMLPUBFUN long XMLCALL
|
||||
xmlTextReaderByteConsumed (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* New more complete APIs for simpler creation and reuse of readers
|
||||
*/
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderWalker (xmlDocPtr doc);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderForDoc (const xmlChar * cur,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderForFile (const char *filename,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderForMemory (const char *buffer,
|
||||
int size,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderForFd (int fd,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN xmlTextReaderPtr XMLCALL
|
||||
xmlReaderForIO (xmlInputReadCallback ioread,
|
||||
xmlInputCloseCallback ioclose,
|
||||
void *ioctx,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewWalker (xmlTextReaderPtr reader,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewDoc (xmlTextReaderPtr reader,
|
||||
const xmlChar * cur,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewFile (xmlTextReaderPtr reader,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewMemory (xmlTextReaderPtr reader,
|
||||
const char *buffer,
|
||||
int size,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewFd (xmlTextReaderPtr reader,
|
||||
int fd,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlReaderNewIO (xmlTextReaderPtr reader,
|
||||
xmlInputReadCallback ioread,
|
||||
xmlInputCloseCallback ioclose,
|
||||
void *ioctx,
|
||||
const char *URL,
|
||||
const char *encoding,
|
||||
int options);
|
||||
/*
|
||||
* Error handling extensions
|
||||
*/
|
||||
typedef void * xmlTextReaderLocatorPtr;
|
||||
|
||||
/**
|
||||
* xmlTextReaderErrorFunc:
|
||||
* @arg: the user argument
|
||||
* @msg: the message
|
||||
* @severity: the severity of the error
|
||||
* @locator: a locator indicating where the error occured
|
||||
*
|
||||
* Signature of an error callback from a reader parser
|
||||
*/
|
||||
typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
|
||||
const char *msg,
|
||||
xmlParserSeverities severity,
|
||||
xmlTextReaderLocatorPtr locator);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
|
||||
/*int xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
|
||||
xmlTextReaderErrorFunc f,
|
||||
void *arg);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
|
||||
xmlStructuredErrorFunc f,
|
||||
void *arg);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
|
||||
xmlTextReaderErrorFunc *f,
|
||||
void **arg);
|
||||
|
||||
#endif /* LIBXML_READER_ENABLED */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __XML_XMLREADER_H__ */
|
||||
|
|
@ -1,222 +0,0 @@
|
|||
/*
|
||||
* Summary: regular expressions handling
|
||||
* Description: basic API for libxml regular expressions handling used
|
||||
* for XML Schemas and validation.
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_REGEXP_H__
|
||||
#define __XML_REGEXP_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_REGEXP_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlRegexpPtr:
|
||||
*
|
||||
* A libxml regular expression, they can actually be far more complex
|
||||
* thank the POSIX regex expressions.
|
||||
*/
|
||||
typedef struct _xmlRegexp xmlRegexp;
|
||||
typedef xmlRegexp *xmlRegexpPtr;
|
||||
|
||||
/**
|
||||
* xmlRegExecCtxtPtr:
|
||||
*
|
||||
* A libxml progressive regular expression evaluation context
|
||||
*/
|
||||
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
|
||||
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/dict.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The POSIX like API
|
||||
*/
|
||||
XMLPUBFUN xmlRegexpPtr XMLCALL
|
||||
xmlRegexpCompile (const xmlChar *regexp);
|
||||
XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegexpExec (xmlRegexpPtr comp,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlRegexpPrint (FILE *output,
|
||||
xmlRegexpPtr regexp);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegexpIsDeterminist(xmlRegexpPtr comp);
|
||||
|
||||
/**
|
||||
* xmlRegExecCallbacks:
|
||||
* @exec: the regular expression context
|
||||
* @token: the current token string
|
||||
* @transdata: transition data
|
||||
* @inputdata: input data
|
||||
*
|
||||
* Callback function when doing a transition in the automata
|
||||
*/
|
||||
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
|
||||
const xmlChar *token,
|
||||
void *transdata,
|
||||
void *inputdata);
|
||||
|
||||
/*
|
||||
* The progressive API
|
||||
*/
|
||||
XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
|
||||
xmlRegNewExecCtxt (xmlRegexpPtr comp,
|
||||
xmlRegExecCallbacks callback,
|
||||
void *data);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegExecPushString(xmlRegExecCtxtPtr exec,
|
||||
const xmlChar *value,
|
||||
void *data);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
|
||||
const xmlChar *value,
|
||||
const xmlChar *value2,
|
||||
void *data);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
|
||||
int *nbval,
|
||||
int *nbneg,
|
||||
xmlChar **values,
|
||||
int *terminal);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
|
||||
const xmlChar **string,
|
||||
int *nbval,
|
||||
int *nbneg,
|
||||
xmlChar **values,
|
||||
int *terminal);
|
||||
#ifdef LIBXML_EXPR_ENABLED
|
||||
/*
|
||||
* Formal regular expression handling
|
||||
* Its goal is to do some formal work on content models
|
||||
*/
|
||||
|
||||
/* expressions are used within a context */
|
||||
typedef struct _xmlExpCtxt xmlExpCtxt;
|
||||
typedef xmlExpCtxt *xmlExpCtxtPtr;
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlExpFreeCtxt (xmlExpCtxtPtr ctxt);
|
||||
XMLPUBFUN xmlExpCtxtPtr XMLCALL
|
||||
xmlExpNewCtxt (int maxNodes,
|
||||
xmlDictPtr dict);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
|
||||
|
||||
/* Expressions are trees but the tree is opaque */
|
||||
typedef struct _xmlExpNode xmlExpNode;
|
||||
typedef xmlExpNode *xmlExpNodePtr;
|
||||
|
||||
typedef enum {
|
||||
XML_EXP_EMPTY = 0,
|
||||
XML_EXP_FORBID = 1,
|
||||
XML_EXP_ATOM = 2,
|
||||
XML_EXP_SEQ = 3,
|
||||
XML_EXP_OR = 4,
|
||||
XML_EXP_COUNT = 5
|
||||
} xmlExpNodeType;
|
||||
|
||||
/*
|
||||
* 2 core expressions shared by all for the empty language set
|
||||
* and for the set with just the empty token
|
||||
*/
|
||||
XMLPUBVAR xmlExpNodePtr forbiddenExp;
|
||||
XMLPUBVAR xmlExpNodePtr emptyExp;
|
||||
|
||||
/*
|
||||
* Expressions are reference counted internally
|
||||
*/
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlExpFree (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlExpRef (xmlExpNodePtr expr);
|
||||
|
||||
/*
|
||||
* constructors can be either manual or from a string
|
||||
*/
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpParse (xmlExpCtxtPtr ctxt,
|
||||
const char *expr);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpNewAtom (xmlExpCtxtPtr ctxt,
|
||||
const xmlChar *name,
|
||||
int len);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpNewOr (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr left,
|
||||
xmlExpNodePtr right);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpNewSeq (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr left,
|
||||
xmlExpNodePtr right);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpNewRange (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr subset,
|
||||
int min,
|
||||
int max);
|
||||
/*
|
||||
* The really interesting APIs
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpIsNillable(xmlExpNodePtr expr);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpMaxToken (xmlExpNodePtr expr);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr,
|
||||
const xmlChar**langList,
|
||||
int len);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpGetStart (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr,
|
||||
const xmlChar**tokList,
|
||||
int len);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpStringDerive(xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr,
|
||||
const xmlChar *str,
|
||||
int len);
|
||||
XMLPUBFUN xmlExpNodePtr XMLCALL
|
||||
xmlExpExpDerive (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr,
|
||||
xmlExpNodePtr sub);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlExpSubsume (xmlExpCtxtPtr ctxt,
|
||||
xmlExpNodePtr expr,
|
||||
xmlExpNodePtr sub);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlExpDump (xmlBufferPtr buf,
|
||||
xmlExpNodePtr expr);
|
||||
#endif /* LIBXML_EXPR_ENABLED */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_REGEXP_ENABLED */
|
||||
|
||||
#endif /*__XML_REGEXP_H__ */
|
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
* Summary: the XML document serializer
|
||||
* Description: API to save document or subtree of document
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_XMLSAVE_H__
|
||||
#define __XML_XMLSAVE_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/encoding.h>
|
||||
#include <libxml/xmlIO.h>
|
||||
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlSaveOption:
|
||||
*
|
||||
* This is the set of XML save options that can be passed down
|
||||
* to the xmlSaveToFd() and similar calls.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_SAVE_FORMAT = 1<<0, /* format save output */
|
||||
XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */
|
||||
XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */
|
||||
XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */
|
||||
XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */
|
||||
XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */
|
||||
XML_SAVE_AS_HTML = 1<<6 /* force HTML serialization on XML doc */
|
||||
} xmlSaveOption;
|
||||
|
||||
|
||||
typedef struct _xmlSaveCtxt xmlSaveCtxt;
|
||||
typedef xmlSaveCtxt *xmlSaveCtxtPtr;
|
||||
|
||||
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
|
||||
xmlSaveToFd (int fd,
|
||||
const char *encoding,
|
||||
int options);
|
||||
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
|
||||
xmlSaveToFilename (const char *filename,
|
||||
const char *encoding,
|
||||
int options);
|
||||
|
||||
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
|
||||
xmlSaveToBuffer (xmlBufferPtr buffer,
|
||||
const char *encoding,
|
||||
int options);
|
||||
|
||||
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
|
||||
xmlSaveToIO (xmlOutputWriteCallback iowrite,
|
||||
xmlOutputCloseCallback ioclose,
|
||||
void *ioctx,
|
||||
const char *encoding,
|
||||
int options);
|
||||
|
||||
XMLPUBFUN long XMLCALL
|
||||
xmlSaveDoc (xmlSaveCtxtPtr ctxt,
|
||||
xmlDocPtr doc);
|
||||
XMLPUBFUN long XMLCALL
|
||||
xmlSaveTree (xmlSaveCtxtPtr ctxt,
|
||||
xmlNodePtr node);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSaveFlush (xmlSaveCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSaveClose (xmlSaveCtxtPtr ctxt);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
|
||||
xmlCharEncodingOutputFunc escape);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt,
|
||||
xmlCharEncodingOutputFunc escape);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
#endif /* __XML_XMLSAVE_H__ */
|
||||
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
/*
|
||||
* Summary: implementation of XML Schema Datatypes
|
||||
* Description: module providing the XML Schema Datatypes implementation
|
||||
* both definition and validity checking
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XML_SCHEMA_TYPES_H__
|
||||
#define __XML_SCHEMA_TYPES_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_SCHEMAS_ENABLED
|
||||
|
||||
#include <libxml/schemasInternals.h>
|
||||
#include <libxml/xmlschemas.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
|
||||
XML_SCHEMA_WHITESPACE_PRESERVE = 1,
|
||||
XML_SCHEMA_WHITESPACE_REPLACE = 2,
|
||||
XML_SCHEMA_WHITESPACE_COLLAPSE = 3
|
||||
} xmlSchemaWhitespaceValueType;
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchemaInitTypes (void);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchemaCleanupTypes (void);
|
||||
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
||||
xmlSchemaGetPredefinedType (const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr *val);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr *val,
|
||||
xmlNodePtr node);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidateFacet (xmlSchemaTypePtr base,
|
||||
xmlSchemaFacetPtr facet,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr val);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
|
||||
xmlSchemaWhitespaceValueType fws,
|
||||
xmlSchemaValType valType,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr val,
|
||||
xmlSchemaWhitespaceValueType ws);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchemaFreeValue (xmlSchemaValPtr val);
|
||||
XMLPUBFUN xmlSchemaFacetPtr XMLCALL
|
||||
xmlSchemaNewFacet (void);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
|
||||
xmlSchemaTypePtr typeDecl,
|
||||
xmlSchemaParserCtxtPtr ctxt,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaCompareValues (xmlSchemaValPtr x,
|
||||
xmlSchemaValPtr y);
|
||||
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
||||
xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
|
||||
const xmlChar *value,
|
||||
unsigned long actualLen,
|
||||
unsigned long *expectedLen);
|
||||
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
||||
xmlSchemaGetBuiltInType (xmlSchemaValType type);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
|
||||
int facetType);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlSchemaCollapseString (const xmlChar *value);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlSchemaWhiteSpaceReplace (const xmlChar *value);
|
||||
XMLPUBFUN unsigned long XMLCALL
|
||||
xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
|
||||
xmlSchemaFacetPtr facet,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr val,
|
||||
unsigned long *length);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
|
||||
xmlSchemaValType valType,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr val,
|
||||
unsigned long *length,
|
||||
xmlSchemaWhitespaceValueType ws);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
|
||||
const xmlChar *value,
|
||||
xmlSchemaValPtr *val,
|
||||
xmlNodePtr node);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaGetCanonValue (xmlSchemaValPtr val,
|
||||
const xmlChar **retValue);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
|
||||
const xmlChar **retValue,
|
||||
xmlSchemaWhitespaceValueType ws);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValueAppend (xmlSchemaValPtr prev,
|
||||
xmlSchemaValPtr cur);
|
||||
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
||||
xmlSchemaValueGetNext (xmlSchemaValPtr cur);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlSchemaValueGetAsString (xmlSchemaValPtr val);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);
|
||||
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
||||
xmlSchemaNewStringValue (xmlSchemaValType type,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
||||
xmlSchemaNewNOTATIONValue (const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
||||
xmlSchemaNewQNameValue (const xmlChar *namespaceName,
|
||||
const xmlChar *localName);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
|
||||
xmlSchemaWhitespaceValueType xws,
|
||||
xmlSchemaValPtr y,
|
||||
xmlSchemaWhitespaceValueType yws);
|
||||
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
||||
xmlSchemaCopyValue (xmlSchemaValPtr val);
|
||||
XMLPUBFUN xmlSchemaValType XMLCALL
|
||||
xmlSchemaGetValType (xmlSchemaValPtr val);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_SCHEMAS_ENABLED */
|
||||
#endif /* __XML_SCHEMA_TYPES_H__ */
|
|
@ -1,202 +0,0 @@
|
|||
/*
|
||||
* Summary: Unicode character APIs
|
||||
* Description: API for the Unicode character APIs
|
||||
*
|
||||
* This file is automatically generated from the
|
||||
* UCS description files of the Unicode Character Database
|
||||
* http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html
|
||||
* using the genUnicode.py Python script.
|
||||
*
|
||||
* Generation date: Mon Mar 27 11:09:52 2006
|
||||
* Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_UNICODE_H__
|
||||
#define __XML_UNICODE_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_UNICODE_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsArabic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsArmenian (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsArrows (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBengali (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBlockElements (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBopomofo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBuhid (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCherokee (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsControlPictures (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCyrillic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsDeseret (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsDevanagari (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsDingbats (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsEthiopic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGeorgian (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGothic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGreek (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGujarati (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHanunoo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHebrew (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsHiragana (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKanbun (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKannada (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKatakana (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKhmer (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLao (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLimbu (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMalayalam (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMongolian (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsMyanmar (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsNumberForms (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsOgham (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsOldItalic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsOriya (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsOsmanya (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsRunic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsShavian (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSinhala (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSpecials (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsSyriac (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTagalog (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTags (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTaiLe (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTamil (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTelugu (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsThaana (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsThai (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsTibetan (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsUgaritic (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols (int code);
|
||||
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsBlock (int code, const char *block);
|
||||
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatC (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatCc (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatCf (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatCo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatCs (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatL (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatLl (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatLm (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatLo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatLt (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatLu (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatM (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatMc (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatMe (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatMn (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatN (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatNd (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatNl (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatNo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatP (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPc (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPd (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPe (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPf (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPi (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatPs (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatS (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatSc (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatSk (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatSm (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatSo (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatZ (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatZl (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatZp (int code);
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCatZs (int code);
|
||||
|
||||
XMLPUBFUN int XMLCALL xmlUCSIsCat (int code, const char *cat);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_UNICODE_ENABLED */
|
||||
|
||||
#endif /* __XML_UNICODE_H__ */
|
|
@ -1,114 +0,0 @@
|
|||
/*
|
||||
* Summary: API to handle XML Pointers
|
||||
* Description: API to handle XML Pointers
|
||||
* Base implementation was made accordingly to
|
||||
* W3C Candidate Recommendation 7 June 2000
|
||||
* http://www.w3.org/TR/2000/CR-xptr-20000607
|
||||
*
|
||||
* Added support for the element() scheme described in:
|
||||
* W3C Proposed Recommendation 13 November 2002
|
||||
* http://www.w3.org/TR/2002/PR-xptr-element-20021113/
|
||||
*
|
||||
* Copy: See Copyright for the status of this software.
|
||||
*
|
||||
* Author: Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_XPTR_H__
|
||||
#define __XML_XPTR_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef LIBXML_XPTR_ENABLED
|
||||
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/xpath.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A Location Set
|
||||
*/
|
||||
typedef struct _xmlLocationSet xmlLocationSet;
|
||||
typedef xmlLocationSet *xmlLocationSetPtr;
|
||||
struct _xmlLocationSet {
|
||||
int locNr; /* number of locations in the set */
|
||||
int locMax; /* size of the array as allocated */
|
||||
xmlXPathObjectPtr *locTab;/* array of locations */
|
||||
};
|
||||
|
||||
/*
|
||||
* Handling of location sets.
|
||||
*/
|
||||
|
||||
XMLPUBFUN xmlLocationSetPtr XMLCALL
|
||||
xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
|
||||
XMLPUBFUN xmlLocationSetPtr XMLCALL
|
||||
xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
|
||||
xmlLocationSetPtr val2);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRange (xmlNodePtr start,
|
||||
int startindex,
|
||||
xmlNodePtr end,
|
||||
int endindex);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
|
||||
xmlXPathObjectPtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRangeNodePoint (xmlNodePtr start,
|
||||
xmlXPathObjectPtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
|
||||
xmlNodePtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRangeNodes (xmlNodePtr start,
|
||||
xmlNodePtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewLocationSetNodes (xmlNodePtr start,
|
||||
xmlNodePtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewRangeNodeObject (xmlNodePtr start,
|
||||
xmlXPathObjectPtr end);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrNewCollapsedRange (xmlNodePtr start);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
|
||||
xmlXPathObjectPtr val);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
|
||||
xmlXPathObjectPtr val);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
|
||||
int val);
|
||||
|
||||
/*
|
||||
* Functions.
|
||||
*/
|
||||
XMLPUBFUN xmlXPathContextPtr XMLCALL
|
||||
xmlXPtrNewContext (xmlDocPtr doc,
|
||||
xmlNodePtr here,
|
||||
xmlNodePtr origin);
|
||||
XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
||||
xmlXPtrEval (const xmlChar *str,
|
||||
xmlXPathContextPtr ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
|
||||
int nargs);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_XPTR_ENABLED */
|
||||
#endif /* __XML_XPTR_H__ */
|
|
@ -1 +0,0 @@
|
|||
9666bcac0a33d1dcfd5361266eca55f1bace1daf
|
|
@ -1 +0,0 @@
|
|||
b5d27f86ea8f48118db9744ef96c5555b418c3bd
|
|
@ -1 +0,0 @@
|
|||
3100e9f83cf078971b4b48b757bf5ebac2d02d37
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue