{"action":"created","issue":{"url":"https://api.github.com/repos/emoon/ProDBG/issues/196","repository_url":"https://api.github.com/repos/emoon/ProDBG","labels_url":"https://api.github.com/repos/emoon/ProDBG/issues/196/labels{/name}","comments_url":"https://api.github.com/repos/emoon/ProDBG/issues/196/comments","events_url":"https://api.github.com/repos/emoon/ProDBG/issues/196/events","html_url":"https://github.com/emoon/ProDBG/issues/196","id":161837001,"number":196,"title":"Implement plugin API generator","user":{"login":"emoon","id":350822,"avatar_url":"https://avatars.githubusercontent.com/u/350822?v=3","gravatar_id":"","url":"https://api.github.com/users/emoon","html_url":"https://github.com/emoon","followers_url":"https://api.github.com/users/emoon/followers","following_url":"https://api.github.com/users/emoon/following{/other_user}","gists_url":"https://api.github.com/users/emoon/gists{/gist_id}","starred_url":"https://api.github.com/users/emoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emoon/subscriptions","organizations_url":"https://api.github.com/users/emoon/orgs","repos_url":"https://api.github.com/users/emoon/repos","events_url":"https://api.github.com/users/emoon/events{/privacy}","received_events_url":"https://api.github.com/users/emoon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/emoon/ProDBG/labels/rust","name":"rust","color":"fef2c0"}],"state":"open","locked":false,"assignee":{"login":"kondrak","id":423295,"avatar_url":"https://avatars.githubusercontent.com/u/423295?v=3","gravatar_id":"","url":"https://api.github.com/users/kondrak","html_url":"https://github.com/kondrak","followers_url":"https://api.github.com/users/kondrak/followers","following_url":"https://api.github.com/users/kondrak/following{/other_user}","gists_url":"https://api.github.com/users/kondrak/gists{/gist_id}","starred_url":"https://api.github.com/users/kondrak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kondrak/subscriptions","organizations_url":"https://api.github.com/users/kondrak/orgs","repos_url":"https://api.github.com/users/kondrak/repos","events_url":"https://api.github.com/users/kondrak/events{/privacy}","received_events_url":"https://api.github.com/users/kondrak/received_events","type":"User","site_admin":false},"assignees":[{"login":"kondrak","id":423295,"avatar_url":"https://avatars.githubusercontent.com/u/423295?v=3","gravatar_id":"","url":"https://api.github.com/users/kondrak","html_url":"https://github.com/kondrak","followers_url":"https://api.github.com/users/kondrak/followers","following_url":"https://api.github.com/users/kondrak/following{/other_user}","gists_url":"https://api.github.com/users/kondrak/gists{/gist_id}","starred_url":"https://api.github.com/users/kondrak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kondrak/subscriptions","organizations_url":"https://api.github.com/users/kondrak/orgs","repos_url":"https://api.github.com/users/kondrak/repos","events_url":"https://api.github.com/users/kondrak/events{/privacy}","received_events_url":"https://api.github.com/users/kondrak/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-06-23T04:18:28Z","updated_at":"2016-07-15T09:54:24Z","closed_at":null,"body":"Writing bindings and glue code for it is boring and it would be much nicer to auto-generate a huge part of it.\r\n\r\nInspiration can be taken from this https://github.com/capnm/Khronos_XML_API/blob/master/egl.xml\r\n\r\nThe idea is then to define the APIs ProDBG support in some format like this and generate the files like\r\n\r\nhttps://github.com/emoon/ProDBG/blob/master/api/include/pd_ui.h\r\nhttps://github.com/emoon/ProDBG/blob/master/api/rust/prodbg/src/ui_ffi.rs\r\n\r\nA bit tricker would be https://github.com/emoon/ProDBG/blob/master/api/rust/prodbg/src/ui.rs but might be doable if the generator is written in such a way that it's easy to do those things.\r\n\r\nLikely there should be a set of \"helpers\" for various backends like C generation, Rust and later on for bindings that targets Lua."},"comment":{"url":"https://api.github.com/repos/emoon/ProDBG/issues/comments/232910106","html_url":"https://github.com/emoon/ProDBG/issues/196#issuecomment-232910106","issue_url":"https://api.github.com/repos/emoon/ProDBG/issues/196","id":232910106,"user":{"login":"kondrak","id":423295,"avatar_url":"https://avatars.githubusercontent.com/u/423295?v=3","gravatar_id":"","url":"https://api.github.com/users/kondrak","html_url":"https://github.com/kondrak","followers_url":"https://api.github.com/users/kondrak/followers","following_url":"https://api.github.com/users/kondrak/following{/other_user}","gists_url":"https://api.github.com/users/kondrak/gists{/gist_id}","starred_url":"https://api.github.com/users/kondrak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kondrak/subscriptions","organizations_url":"https://api.github.com/users/kondrak/orgs","repos_url":"https://api.github.com/users/kondrak/repos","events_url":"https://api.github.com/users/kondrak/events{/privacy}","received_events_url":"https://api.github.com/users/kondrak/received_events","type":"User","site_admin":false},"created_at":"2016-07-15T09:54:24Z","updated_at":"2016-07-15T09:54:24Z","body":"\" I also realised there are already some code that does something similar to what we need with the code generator later on https://github.com/emoon/ProDBG/blob/master/units.tools.lua#L30 and this is then being used here https://github.com/emoon/ProDBG/blob/master/units.libs.lua#L346 \""}}
{"actor":{"display_login":"kondrak"}}