JMOSDrawerのメソッド,GetNumberOfReportsInDrawer(), GetTitle()を実装.文字列を扱う場合,Unicode(Java側)<->UTF-8(Native側)の変換を自分で行う必要がある.このための各種変換関数がJNIEnvに用意されている.Stringを返す GetTitle()の場合,

JNIEXPORT jstring JNICALL Java_JMOSDrawer_GetTitle
(JNIEnv *env, jobject jmosDrawer)
{
CMOSDrawer *d;
jint hashCode = getHashCode(env, jmosDrawer);
Registry::lookup((void*)hashCode, (void*&) d);
return((jstring)(env->NewStringUTF(d->GetTitle())));
}

CMOSDrawer->GetTitle()で得られた文字列をenv->NewStringUTF()に渡している.ただしこのコードでは日本語はうまく渡せていない.恐らくNewStringUTF()が入力としてUTF-8を期待しているからである.
JMOSPReportを実装,現在のメソッドはGetNumberOfLines(), GetMimeType(),GetReportId(), GetTitle() など.さらにJMOSPReport->GetLines()によりJMOSLines,さらに任意のJMOSLineの取得に成功. CMOSLinesはCMOSPReportsと同様,CMOSLineのListから成るコレクション・クラスであり,一つのレポートは,

CMOSPReport - CMOSLines - CMOSLine - CMOSFields - CMOSField

という構成になっている.フィールドの値が得られるまであとわずか...レポート・ヘッダの扱いが不明. GetNumberOfLines()とLZを比較するとヘッダ行を引いたデータ行のみの行数を返しているものと思われる.すなわち,ヘッダにアクセスするためのコレクション・クラスがあるはずだが...