blob: 79cb99f03cb09eab4b7fd489ecc38ab603bd2108 [file] [log] [blame]
/*
* (c) Copyright IBM Corp., 2000, 2001
* All Rights Reserved.
*/
/**
* SWT KDE natives implementation.
*/
/* #define PRINT_FAILED_RCODES */
#define NDEBUG
#include <stdio.h>
#include "jni.h"
#include <kapp.h>
#include <kservice.h>
#include <kmimetype.h>
#include <kuserprofile.h>
#include <kurl.h>
#include <qstring.h>
extern "C" {
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KApplication_1new
* Signature: ([B)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KApplication_1new
(JNIEnv *env, jclass that, int appName)
{
int myArgc = 0;
char* myArgv[1];
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KApplication_1new\n");
#endif
QCString qcString = *((QCString*) appName);
KApplication* app = new KApplication(myArgc, myArgv, qcString);
return (jint) app;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KGlobal_1iconLoader
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KGlobal_1iconLoader
(JNIEnv *env, jclass that)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KGlobal_1iconLoader\n");
#endif
return (jint) KGlobal::iconLoader();
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KIconLoader_1iconPath
* Signature: (IIII)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KIconLoader_1iconPath
(JNIEnv *env, jclass that, jint receiver, jint iconQString, jint iconType, jint canReturnNull)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KIconLoader_1iconPath\n");
#endif
KIconLoader* loader = (KIconLoader*) receiver;
QString iconName = *((QString*) iconQString);
QString iconPath = loader->iconPath(iconName, iconType, canReturnNull);
if (iconPath == 0) return 0;
QString* answer = new QString();
*answer = iconPath;
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KMimeType_1findByURL
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KMimeType_1findByURL
(JNIEnv *env, jclass that, jint kurl)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KMimeType_1findByURL\n");
#endif
KURL url = *((KURL*) kurl);
KSharedPtr<KMimeType>* mimeType = new KSharedPtr<KMimeType>();
*mimeType = KMimeType::findByURL(url);
return (jint) mimeType;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KMimeType_1icon
* Signature: (III)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KMimeType_1icon
(JNIEnv *env, jclass that, jint receiver, jint unused1, jint unused2)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KMimeType_1icon\n");
#endif
KSharedPtr<KMimeType> mimeType = *((KSharedPtr<KMimeType>*) receiver);
QString* answer = new QString();
*answer = mimeType->icon((const QString&) NULL, 0);
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KMimeType_1name
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KMimeType_1name
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KMimeType_1name\n");
#endif
KSharedPtr<KMimeType> mimeType = *((KSharedPtr<KMimeType>*) receiver);
QString* answer = new QString();
*answer = mimeType->name();
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1allServices
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1allServices
(JNIEnv *env, jclass that)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1allServices\n");
#endif
KService::List* pointer = new KService::List();
*pointer = KService::allServices();
return (jint) pointer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1exec
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1exec
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1exec\n");
#endif
KSharedPtr<KService> service = *((KSharedPtr<KService>*) receiver);
QString* answer = new QString();
*answer = service->exec();
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1icon
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1icon
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1icon\n");
#endif
KSharedPtr<KService> service = *((KSharedPtr<KService>*) receiver);
QString* answer = new QString();
*answer = service->icon();
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1name
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1name
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1name\n");
#endif
KSharedPtr<KService> service = *((KSharedPtr<KService>*) receiver);
QString* answer = new QString();
*answer = service->name();
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1serviceByName
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1serviceByName
(JNIEnv *env, jclass that, jint serviceName)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1serviceByName\n");
#endif
QString* name = (QString*) serviceName;
KSharedPtr<KService> service = KService::serviceByName(*name);
if (service == 0) return 0;
KSharedPtr<KService>* pointer = new KSharedPtr<KService>();
*pointer = service;
return (jint) pointer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KService_1type
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KService_1type
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KService_1type\n");
#endif
KSharedPtr<KService> service = *((KSharedPtr<KService>*) receiver);
QString* answer = new QString();
*answer = service->type();
return (jint) answer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceTypeProfile_1preferredService
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceTypeProfile_1preferredService
(JNIEnv *env, jclass that, jint mimeTypeQString, jint needApp)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceTypeProfile_1preferredService\n");
#endif
QString mimeTypeName = *((QString*) mimeTypeQString);
KSharedPtr<KService> service = KServiceTypeProfile::preferredService(mimeTypeName, needApp);
if (service == 0) return 0;
KSharedPtr<KService>* pointer = new KSharedPtr<KService>();
*pointer = service;
return (jint) pointer;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KURL_1delete
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_KURL_1delete
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KURL_1delete\n");
#endif
delete (KURL*) receiver;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KURL_1new
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KURL_1new
(JNIEnv *env, jclass that, jint qString)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KURL_1new\n");
#endif
QString urlString = *((QString*) qString);
return (jint) new KURL(urlString);
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceList_1begin
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceList_1begin
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceList_1begin\n");
#endif
KService::List *list= (KService::List*) receiver;
QValueListConstIterator<KService::Ptr>* beginning = new QValueListConstIterator<KService::Ptr>();
*beginning = list->begin();
return (jint) beginning;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceList_1delete
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceList_1delete
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceList_1delete\n");
#endif
delete (KService::List*) receiver;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceList_1end
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceList_1end
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceList_1end\n");
#endif
KService::List *list = (KService::List*) receiver;
QValueListConstIterator<KService::Ptr>* end = new QValueListConstIterator<KService::Ptr>();
*end = list->end();
return (jint) end;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QCString_1data
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_QCString_1data
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QCString_1data\n");
#endif
return (jint) ((QCString*) receiver)->data();
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QCString_1delete
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_QCString_1delete
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QCString_1delete\n");
#endif
delete (QCString*) receiver;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QCString_1new
* Signature: ([B)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_QCString_1new
(JNIEnv *env, jclass that, jbyteArray text)
{
jbyte *text1=NULL;
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QCString_1new\n");
#endif
if (text) text1 = env->GetByteArrayElements(text, NULL);
QCString* qcString = new QCString((char*) text1);
if (text) env->ReleaseByteArrayElements(text, text1, 0);
return (jint) qcString;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QString_1delete
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_QString_1delete
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QString_1delete\n");
#endif
delete (QString*) receiver;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QString_1equals
* Signature: (I[B)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_QString_1equals
(JNIEnv *env, jclass that, jint receiver, jint object)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QString_1equals\n");
#endif
return *((QString*) receiver) == *((QString*) object);
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QString_1new
* Signature: ([B)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_QString_1new
(JNIEnv *env, jclass that, jbyteArray text)
{
jbyte *text1=NULL;
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QString_1new\n");
#endif
if (text) text1 = env->GetByteArrayElements(text, NULL);
QString* qString = new QString((char*) text1);
if (text) env->ReleaseByteArrayElements(text, text1, 0);
return (jint) qString;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: QString_1utf8
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_QString_1utf8
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "QString_1utf8\n");
#endif
QString string = *((QString*) receiver);
QCString* qcString = new QCString();
*qcString = string.utf8();
return (jint) qcString;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceListIterator_1delete
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceListIterator_1delete
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceListIterator_1delete\n");
#endif
delete (QValueListIterator<KService::Ptr>*) receiver;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceListIterator_1dereference
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceListIterator_1dereference
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceListIterator_1dereference\n");
#endif
KSharedPtr<KService>* service = new KSharedPtr<KService>();
*service = *(*((QValueListIterator<KService::Ptr>*) receiver));
return (jint) service;
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceListIterator_1increment
* Signature: (I)I
*/
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceListIterator_1increment
(JNIEnv *env, jclass that, jint receiver)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceListIterator_1increment\n");
#endif
++(*((QValueListIterator<KService::Ptr>*) receiver));
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceListIterator_1new
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceListIterator_1new
(JNIEnv *env, jclass that, jint listBeginning)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceListIterator_1new\n");
#endif
const QValueListIterator<KService::Ptr> *iterator =
(const QValueListIterator<KService::Ptr> *) listBeginning;
return (jint) new QValueListIterator<KService::Ptr>(*iterator);
}
/*
* Class: org_eclipse_swt_internal_motif_KDE
* Method: KServiceListIterator_1equals
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_motif_KDE_KServiceListIterator_1equals
(JNIEnv *env, jclass that, jint receiver, jint object)
{
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "KServiceListIterator_1equals\n");
#endif
return *((QValueListIterator<KService::Ptr>*) receiver) ==
*((QValueListIterator<KService::Ptr>*) object);
}
} /* extern "C" */