{"action":"opened","issue":{"url":"https://api.github.com/repos/ochafik/JNAerator/issues/2","labels_url":"https://api.github.com/repos/ochafik/JNAerator/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/ochafik/JNAerator/issues/2/comments","events_url":"https://api.github.com/repos/ochafik/JNAerator/issues/2/events","html_url":"https://github.com/ochafik/JNAerator/issues/2","id":61132445,"number":2,"title":"Classes not generated","user":{"login":"sinall","id":1246382,"avatar_url":"https://avatars.githubusercontent.com/u/1246382?v=3","gravatar_id":"","url":"https://api.github.com/users/sinall","html_url":"https://github.com/sinall","followers_url":"https://api.github.com/users/sinall/followers","following_url":"https://api.github.com/users/sinall/following{/other_user}","gists_url":"https://api.github.com/users/sinall/gists{/gist_id}","starred_url":"https://api.github.com/users/sinall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sinall/subscriptions","organizations_url":"https://api.github.com/users/sinall/orgs","repos_url":"https://api.github.com/users/sinall/repos","events_url":"https://api.github.com/users/sinall/events{/privacy}","received_events_url":"https://api.github.com/users/sinall/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-13T16:48:40Z","updated_at":"2015-03-13T16:48:40Z","closed_at":null,"body":"Hi Olivier Chafik,\r\n\r\n## The System\r\n\r\n1. Windows XP\r\n2. Microsoft Visual Studio 2010 Express\r\n\r\n## The Command\r\n\r\n$env:VISUAL_STUDIO_HOME=\"D:\\Program Files\\Microsoft Visual Studio 10.0\"\r\n$env:WINDOWS_SDK_HOME=\"D:\\Program Files\\Microsoft SDKs\\Windows\\v7.0A\"\r\njava -jar jnaerator-0.13-20150311.101753-1-shaded.jar D:\\Wind\\WAPI.PE\\WAPIWrapperCPP\\lib\\Win32\\WAPIWrapperCpp.dll  D:\\Wind\\WAPI.PE\\WAPIWrapperCPP\\API\\WAPIWrapperCpp.h -mode StandaloneJar\r\n\r\n## Expected Output\r\n\r\nThere should be Java enum for ErrMsgLang, and Java classes for WindData and CWAPIWrapperCpp\r\n\r\n## Actual Output\r\n\r\nThere is only Java enum for ErrMsgLang\r\n\r\n```c++\r\n## The CPP File\r\n\r\n#ifndef _WAPIWRAPPERCPP_H\r\n#define _WAPIWRAPPERCPP_H\r\n\r\n#include <windows.h>\r\n#include <comutil.h>\r\n\r\n#ifdef WAPIWRAPPERCPP_EXPORTS\r\n#define WAPIWRAPPERCPP_EXP __declspec(dllexport)\r\n#else\r\n#define WAPIWRAPPERCPP_EXP __declspec(dllimport)\r\n#endif\r\n\r\n//控件未注册错误\r\nconst LONG noRegErr = -1;\r\n\r\nenum ErrMsgLang //错误信息语言\r\n{\r\n\teENG = 0,\t///< 英语\r\n\teCHN,\t\t///< 中文\r\n};\r\n\r\nclass WAPIWRAPPERCPP_EXP WindData\r\n{\r\npublic:\r\n\tVARIANT\tdata;\t///< 数据\r\n\tVARIANT codes;\t///< Code列表\r\n\tVARIANT fields;\t///< 指标列表\r\n\tVARIANT times;\t///< 时间列表\r\n\tLONG errorCode;\t///< 错误码\r\npublic:\r\n\r\n\tWindData();\r\n\t~WindData();\r\n\r\n\tVOID InitWindData();\r\n\tVOID ClearWindData();\r\n\r\n\t//获取错误信息\r\n\tLPCWSTR GetErrorMsg() const;\r\n\r\n\t//日期转化函数(需要delete)\r\n\tstatic WCHAR* DateToString(DATE date, LPCWSTR strFormat = L\"%Y-%m-%d\");\r\n\tstatic VOID FreeString(WCHAR*& pStr);\r\n\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//数据使用\r\n\r\n\tINT GetCodesLength() const;\r\n\tINT GetFieldsLength() const;\r\n\tINT GetTimesLength() const;\r\n\r\n\tLPCWSTR GetCodeByIndex(int index) const;\r\n\tLPCWSTR GetFieldsByIndex(int index) const;\r\n\tBOOL GetTimeByIndex(int index, WCHAR timeBuffer[], int& length) const;\r\n\tDATE GetTimeByIndex(int index) const;\r\n\r\n\t//获取数据查询接口OneData\r\n\tBOOL GetDataItem(int timeIndex, int codesIndex, int fieldsIndex, VARIANT& outItem) const;\r\n\r\n\t//获取日期列表\r\n\tconst DATE* GetTDaysInfo(LONG& lDateCount) const;\r\n\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//交易使用\r\n\r\n\tINT GetRecordCount() const;\r\n\r\n\t//获取交易接口OneData\r\n\tBOOL GetTradeItem(int recordIndex, int fieldsIndex, VARIANT& outItem) const;\r\n\r\n\t//获取登录ID\r\n\tLONG GetLogonID() const;\r\n\r\n\t//获取Order请求Id\r\n\tLONG GetOrderRequestID() const;\r\n\r\n\t//获取OrderNumber\r\n\tLPCWSTR GetOrderNumber(int recordIndex = 0) const;\r\n};\r\n\r\n// 回调函数定义\r\ntypedef LONG (WINAPI *WsqCallBack)(const WindData &windData);\r\n\r\n// 此类是从 WAPIWrapperCpp.dll 导出的\r\nclass WAPIWRAPPERCPP_EXP CWAPIWrapperCpp {\r\npublic:\r\n\t\r\n\t//基本函数\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//Wind接口启动函数\r\n\tstatic LONG start(LPCWSTR options = NULL, LPCWSTR options2 = NULL, LONG timeout = 5000);\r\n\r\n\t//Wind接口终止函数\r\n\tstatic LONG stop();\r\n\r\n\t//判断连接状态\r\n\tstatic LONG isconnected();\r\n\r\n\t//若 requestId 为0 取消所有请求；否则只取消给定ID号的请求\r\n\tstatic VOID cancelRequest(ULONGLONG requestId);\r\n\r\n\t//取消所有请求\r\n\tstatic VOID cancelAllRequest();\r\n\r\n\t//获取错误码相应的错误信息\r\n\tstatic BOOL getErrorMsg(LONG errCode, ErrMsgLang lang, WCHAR msg[], int& /*inout*/msgLength);\r\n\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\r\n\t//数据函数\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//多值函数wsd，获得日期序列\r\n\tstatic LONG wsd(WindData& outWindData, LPCWSTR windCodes, LPCWSTR fields, LPCWSTR startTime = NULL, LPCWSTR endTime = NULL, LPCWSTR options = NULL);\r\n\r\n\t//多值函数wss，获得历史快照\r\n\tstatic LONG wss(WindData& outWindData, LPCWSTR windCodes, LPCWSTR fields, LPCWSTR options = NULL);\r\n\r\n\t//多值函数wsi，获得分钟序列\r\n\tstatic LONG wsi(WindData& outWindData, LPCWSTR windCodes, LPCWSTR fields, LPCWSTR startTime, LPCWSTR endTime, LPCWSTR options = NULL);\r\n\r\n\t//多值函数wst，获得日内跳价\r\n\tstatic LONG wst(WindData& outWindData, LPCWSTR windCodes, LPCWSTR fields, LPCWSTR startTime, LPCWSTR endTime, LPCWSTR options = NULL);\r\n\r\n\t//多值函数wsq，获得实时行情\r\n\t//非订阅模式，取一次性快照数据\r\n\tstatic LONG wsq(WindData& outWindData, LPCWSTR windCodes, LPCWSTR fields, LPCWSTR options = NULL);\r\n\r\n\t//订阅模式，订阅实时数据，数据通过回调函数返回\r\n\tstatic LONG wsq(ULONGLONG &reqId, LPCWSTR windCodes, LPCWSTR fields, WsqCallBack callBack, LPCWSTR options = NULL, BOOL updateAllFields = FALSE);\r\n\r\n\t//多值函数wset，获得指定数据集\r\n\tstatic LONG wset(WindData& outWindData, LPCWSTR reportName, LPCWSTR options = NULL);\r\n\r\n\t//多值函数edb，获得经济数据\r\n\tstatic LONG edb(WindData& outWindData, LPCWSTR windCodes, LPCWSTR startTime = NULL, LPCWSTR endTime = NULL, LPCWSTR options = NULL);\r\n\r\n\t//组合报表函数\r\n\tstatic LONG wpf(WindData& outWindData, LPCWSTR portfolioName, LPCWSTR viewName, LPCWSTR options = NULL);\r\n\r\n\t//组合上传函数\r\n\tstatic LONG wupf(WindData& outWindData, LPCWSTR portfolioName, LPCWSTR tradeDate, LPCWSTR windCodes, LPCWSTR quantity, LPCWSTR costPrice, LPCWSTR options = NULL);\r\n\r\n\t//证劵筛选函数\r\n\tstatic LONG weqs(WindData& outWindData, LPCWSTR planName, LPCWSTR options = NULL);\r\n\r\n\t//日历日、工作日、交易日的日期序列函数\r\n\tstatic LONG tdays(WindData& outWindData, LPCWSTR startTime, LPCWSTR endTime, LPCWSTR options = NULL);\r\n\r\n\t//日历日、工作日、交易日的日期偏移计算\r\n\tstatic LONG tdaysoffset(DATE& outDate, LPCWSTR startTime, LONG offset, LPCWSTR options = NULL);\r\n\r\n\t//日历日、工作日、交易日的日期天数计算\r\n\tstatic LONG tdayscount(LONG& outCount, LPCWSTR startTime, LPCWSTR endTime, LPCWSTR options = NULL);\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\r\n\t//交易函数\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//交易账号登陆\r\n\tstatic LONG tlogon(WindData& outWindData, LPCWSTR brokerID, LPCWSTR departmentID, LPCWSTR accountID, LPCWSTR password, LPCWSTR accountType, LPCWSTR options = NULL);\r\n\r\n\t//交易账号登出, 0:登出全部已登录的账号\r\n\tstatic LONG tlogout(INT longId=0);\r\n\r\n\t//下单\r\n\tstatic LONG torder(WindData& outWindData, LPCWSTR windCodes, LPCWSTR tradeSide, LPCWSTR orderPrice, LPCWSTR orderVolume, LPCWSTR options = NULL);\r\n\tstatic LONG torder(LONG& reqId, LPCWSTR windCodes, LPCWSTR tradeSide, DOUBLE orderPrice, LONG orderVolume, LPCWSTR options = NULL, WCHAR** pErrosMsg = NULL);\r\n\r\n\t//备兑\r\n\tstatic LONG tcovered(WindData& outWindData, LPCWSTR windCodes, LPCWSTR tradeSide, LPCWSTR orderVolume, LPCWSTR options = NULL);\r\n\tstatic LONG tcovered(LONG& reqId, LPCWSTR windCodes, LPCWSTR tradeSide, LONG orderVolume, LPCWSTR options = NULL, WCHAR** pErrosMsg = NULL);\r\n\r\n\t//交易情况查询\r\n\tstatic LONG tquery(WindData& outWindData, LPCWSTR qryCode, LPCWSTR options = NULL);\r\n\r\n\t//撤单\r\n\tstatic LONG tcancel(LPCWSTR orderNumber, LPCWSTR options = NULL);\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\r\n\t//回测函数\r\n\t//////////////////////////////////////////////////////////////////////////\r\n\t//回测开始\r\n\tstatic LONG bktstart(WindData& outWindData, LPCWSTR strategyName, LPCWSTR startDate, LPCWSTR endDate, LPCWSTR options = NULL);\r\n\r\n\t//回测查询\r\n\tstatic LONG bktquery(WindData& outWindData, LPCWSTR qrycode, LPCWSTR qrytime, LPCWSTR options = NULL);\r\n\r\n\t//回测下单\r\n\tstatic LONG bktorder(WindData& outWindData, LPCWSTR tradeTime, LPCWSTR securityCode, LPCWSTR tradeSide, LPCWSTR tradeVol, LPCWSTR options = NULL);\r\n\r\n\t//回测结束\r\n\tstatic LONG bktend(WindData& outWindData, LPCWSTR options);\r\n\r\n\t//查看回测状态\r\n\tstatic LONG bktstatus(WindData& outWindData, LPCWSTR options);\r\n\r\n\t//回测概要\r\n\tstatic LONG bktsummary(WindData& outWindData, LPCWSTR bktID, LPCWSTR view, LPCWSTR options);\r\n\r\n\t//回测删除\r\n\tstatic LONG bktdelete(WindData& outWindData, LPCWSTR bktID, LPCWSTR options);\r\n\r\n\t//返回策略列表\r\n\tstatic LONG bktstrategy(WindData& outWindData, LPCWSTR options);\r\n\r\n\t//////////////////////////////////////////////////////////////////////////\r\n};\r\n\r\n#endif\r\n```\r\n"}}