{"action":"opened","issue":{"url":"https://api.github.com/repos/opencollab/giws/issues/3","labels_url":"https://api.github.com/repos/opencollab/giws/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/opencollab/giws/issues/3/comments","events_url":"https://api.github.com/repos/opencollab/giws/issues/3/events","html_url":"https://github.com/opencollab/giws/issues/3","id":58458703,"number":3,"title":"getter/setter methods for object properties","user":{"login":"hartsantler","id":764882,"avatar_url":"https://avatars.githubusercontent.com/u/764882?v=3","gravatar_id":"","url":"https://api.github.com/users/hartsantler","html_url":"https://github.com/hartsantler","followers_url":"https://api.github.com/users/hartsantler/followers","following_url":"https://api.github.com/users/hartsantler/following{/other_user}","gists_url":"https://api.github.com/users/hartsantler/gists{/gist_id}","starred_url":"https://api.github.com/users/hartsantler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartsantler/subscriptions","organizations_url":"https://api.github.com/users/hartsantler/orgs","repos_url":"https://api.github.com/users/hartsantler/repos","events_url":"https://api.github.com/users/hartsantler/events{/privacy}","received_events_url":"https://api.github.com/users/hartsantler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-02-21T13:01:10Z","updated_at":"2015-02-21T13:01:10Z","closed_at":null,"body":"The Giws xml format could easily be extended to support object properties, like this:\r\n```xml\r\n<package name=\"mymod\">\r\n\t<object name=\"A\">\r\n\t\t<property name=\"x\" type=\"int\">\r\n\t\t<method name=\"foo\" returnType=\"void\">\r\n\t\t</method>\r\n\t</object>\r\n</package>\r\n```\r\n\r\nabove the integer property `x` is wrapped with `<property name=\"x\" type=\"int\">` and would generate two c++ methods:\r\n```c++\r\n// getter\r\nint A::x () { return getCurrentEnv()->GetIntField(this->jobject, getCurrentEnv()->GetFieldID(this->jclass); }\r\n\r\n// setter\r\nint A::x (int value) { return getCurrentEnv()->SetIntField(this->jobject, getCurrentEnv()->GetFieldID(this->jclass, value); }\r\n```"}}