{"action":"opened","number":4,"pull_request":{"url":"https://api.github.com/repos/troglobit/libuev/pulls/4","id":37625220,"html_url":"https://github.com/troglobit/libuev/pull/4","diff_url":"https://github.com/troglobit/libuev/pull/4.diff","patch_url":"https://github.com/troglobit/libuev/pull/4.patch","issue_url":"https://api.github.com/repos/troglobit/libuev/issues/4","number":4,"state":"open","locked":false,"title":"Take a stab at hiding private variables in another way, with a separate type.","user":{"login":"vonj","id":1912892,"avatar_url":"https://avatars.githubusercontent.com/u/1912892?v=3","gravatar_id":"","url":"https://api.github.com/users/vonj","html_url":"https://github.com/vonj","followers_url":"https://api.github.com/users/vonj/followers","following_url":"https://api.github.com/users/vonj/following{/other_user}","gists_url":"https://api.github.com/users/vonj/gists{/gist_id}","starred_url":"https://api.github.com/users/vonj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vonj/subscriptions","organizations_url":"https://api.github.com/users/vonj/orgs","repos_url":"https://api.github.com/users/vonj/repos","events_url":"https://api.github.com/users/vonj/events{/privacy}","received_events_url":"https://api.github.com/users/vonj/received_events","type":"User","site_admin":false},"body":"So, I made a separate type. However, it still has to keep the private variables in memory, so they need to be shadowed in a char array. A future refinement could be, to keep the private parts in a separate structure.","created_at":"2015-06-13T13:51:54Z","updated_at":"2015-06-13T13:51:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8e6028157107853a7ff608d73e070b320468dc41","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/troglobit/libuev/pulls/4/commits","review_comments_url":"https://api.github.com/repos/troglobit/libuev/pulls/4/comments","review_comment_url":"https://api.github.com/repos/troglobit/libuev/pulls/comments{/number}","comments_url":"https://api.github.com/repos/troglobit/libuev/issues/4/comments","statuses_url":"https://api.github.com/repos/troglobit/libuev/statuses/f2edaeb129d557b25b5831d9782a362ec77d0614","head":{"label":"vonj:master","ref":"master","sha":"f2edaeb129d557b25b5831d9782a362ec77d0614","user":{"login":"vonj","id":1912892,"avatar_url":"https://avatars.githubusercontent.com/u/1912892?v=3","gravatar_id":"","url":"https://api.github.com/users/vonj","html_url":"https://github.com/vonj","followers_url":"https://api.github.com/users/vonj/followers","following_url":"https://api.github.com/users/vonj/following{/other_user}","gists_url":"https://api.github.com/users/vonj/gists{/gist_id}","starred_url":"https://api.github.com/users/vonj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vonj/subscriptions","organizations_url":"https://api.github.com/users/vonj/orgs","repos_url":"https://api.github.com/users/vonj/repos","events_url":"https://api.github.com/users/vonj/events{/privacy}","received_events_url":"https://api.github.com/users/vonj/received_events","type":"User","site_admin":false},"repo":{"id":37322896,"name":"libuev","full_name":"vonj/libuev","owner":{"login":"vonj","id":1912892,"avatar_url":"https://avatars.githubusercontent.com/u/1912892?v=3","gravatar_id":"","url":"https://api.github.com/users/vonj","html_url":"https://github.com/vonj","followers_url":"https://api.github.com/users/vonj/followers","following_url":"https://api.github.com/users/vonj/following{/other_user}","gists_url":"https://api.github.com/users/vonj/gists{/gist_id}","starred_url":"https://api.github.com/users/vonj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vonj/subscriptions","organizations_url":"https://api.github.com/users/vonj/orgs","repos_url":"https://api.github.com/users/vonj/repos","events_url":"https://api.github.com/users/vonj/events{/privacy}","received_events_url":"https://api.github.com/users/vonj/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vonj/libuev","description":"Small and simple event loop.","fork":true,"url":"https://api.github.com/repos/vonj/libuev","forks_url":"https://api.github.com/repos/vonj/libuev/forks","keys_url":"https://api.github.com/repos/vonj/libuev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vonj/libuev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vonj/libuev/teams","hooks_url":"https://api.github.com/repos/vonj/libuev/hooks","issue_events_url":"https://api.github.com/repos/vonj/libuev/issues/events{/number}","events_url":"https://api.github.com/repos/vonj/libuev/events","assignees_url":"https://api.github.com/repos/vonj/libuev/assignees{/user}","branches_url":"https://api.github.com/repos/vonj/libuev/branches{/branch}","tags_url":"https://api.github.com/repos/vonj/libuev/tags","blobs_url":"https://api.github.com/repos/vonj/libuev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vonj/libuev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vonj/libuev/git/refs{/sha}","trees_url":"https://api.github.com/repos/vonj/libuev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vonj/libuev/statuses/{sha}","languages_url":"https://api.github.com/repos/vonj/libuev/languages","stargazers_url":"https://api.github.com/repos/vonj/libuev/stargazers","contributors_url":"https://api.github.com/repos/vonj/libuev/contributors","subscribers_url":"https://api.github.com/repos/vonj/libuev/subscribers","subscription_url":"https://api.github.com/repos/vonj/libuev/subscription","commits_url":"https://api.github.com/repos/vonj/libuev/commits{/sha}","git_commits_url":"https://api.github.com/repos/vonj/libuev/git/commits{/sha}","comments_url":"https://api.github.com/repos/vonj/libuev/comments{/number}","issue_comment_url":"https://api.github.com/repos/vonj/libuev/issues/comments{/number}","contents_url":"https://api.github.com/repos/vonj/libuev/contents/{+path}","compare_url":"https://api.github.com/repos/vonj/libuev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vonj/libuev/merges","archive_url":"https://api.github.com/repos/vonj/libuev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vonj/libuev/downloads","issues_url":"https://api.github.com/repos/vonj/libuev/issues{/number}","pulls_url":"https://api.github.com/repos/vonj/libuev/pulls{/number}","milestones_url":"https://api.github.com/repos/vonj/libuev/milestones{/number}","notifications_url":"https://api.github.com/repos/vonj/libuev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vonj/libuev/labels{/name}","releases_url":"https://api.github.com/repos/vonj/libuev/releases{/id}","created_at":"2015-06-12T13:16:30Z","updated_at":"2015-06-12T13:16:31Z","pushed_at":"2015-06-13T13:46:40Z","git_url":"git://github.com/vonj/libuev.git","ssh_url":"git@github.com:vonj/libuev.git","clone_url":"https://github.com/vonj/libuev.git","svn_url":"https://github.com/vonj/libuev","homepage":"https://github.com/troglobit/libuev/blob/master/examples/joystick.c","size":632,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"troglobit:master","ref":"master","sha":"052b08e0b5a0f5bdfffa178a2ae44c049f6f5d31","user":{"login":"troglobit","id":183517,"avatar_url":"https://avatars.githubusercontent.com/u/183517?v=3","gravatar_id":"","url":"https://api.github.com/users/troglobit","html_url":"https://github.com/troglobit","followers_url":"https://api.github.com/users/troglobit/followers","following_url":"https://api.github.com/users/troglobit/following{/other_user}","gists_url":"https://api.github.com/users/troglobit/gists{/gist_id}","starred_url":"https://api.github.com/users/troglobit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/troglobit/subscriptions","organizations_url":"https://api.github.com/users/troglobit/orgs","repos_url":"https://api.github.com/users/troglobit/repos","events_url":"https://api.github.com/users/troglobit/events{/privacy}","received_events_url":"https://api.github.com/users/troglobit/received_events","type":"User","site_admin":false},"repo":{"id":11514356,"name":"libuev","full_name":"troglobit/libuev","owner":{"login":"troglobit","id":183517,"avatar_url":"https://avatars.githubusercontent.com/u/183517?v=3","gravatar_id":"","url":"https://api.github.com/users/troglobit","html_url":"https://github.com/troglobit","followers_url":"https://api.github.com/users/troglobit/followers","following_url":"https://api.github.com/users/troglobit/following{/other_user}","gists_url":"https://api.github.com/users/troglobit/gists{/gist_id}","starred_url":"https://api.github.com/users/troglobit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/troglobit/subscriptions","organizations_url":"https://api.github.com/users/troglobit/orgs","repos_url":"https://api.github.com/users/troglobit/repos","events_url":"https://api.github.com/users/troglobit/events{/privacy}","received_events_url":"https://api.github.com/users/troglobit/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/troglobit/libuev","description":"Small and simple event loop.","fork":false,"url":"https://api.github.com/repos/troglobit/libuev","forks_url":"https://api.github.com/repos/troglobit/libuev/forks","keys_url":"https://api.github.com/repos/troglobit/libuev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/troglobit/libuev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/troglobit/libuev/teams","hooks_url":"https://api.github.com/repos/troglobit/libuev/hooks","issue_events_url":"https://api.github.com/repos/troglobit/libuev/issues/events{/number}","events_url":"https://api.github.com/repos/troglobit/libuev/events","assignees_url":"https://api.github.com/repos/troglobit/libuev/assignees{/user}","branches_url":"https://api.github.com/repos/troglobit/libuev/branches{/branch}","tags_url":"https://api.github.com/repos/troglobit/libuev/tags","blobs_url":"https://api.github.com/repos/troglobit/libuev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/troglobit/libuev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/troglobit/libuev/git/refs{/sha}","trees_url":"https://api.github.com/repos/troglobit/libuev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/troglobit/libuev/statuses/{sha}","languages_url":"https://api.github.com/repos/troglobit/libuev/languages","stargazers_url":"https://api.github.com/repos/troglobit/libuev/stargazers","contributors_url":"https://api.github.com/repos/troglobit/libuev/contributors","subscribers_url":"https://api.github.com/repos/troglobit/libuev/subscribers","subscription_url":"https://api.github.com/repos/troglobit/libuev/subscription","commits_url":"https://api.github.com/repos/troglobit/libuev/commits{/sha}","git_commits_url":"https://api.github.com/repos/troglobit/libuev/git/commits{/sha}","comments_url":"https://api.github.com/repos/troglobit/libuev/comments{/number}","issue_comment_url":"https://api.github.com/repos/troglobit/libuev/issues/comments{/number}","contents_url":"https://api.github.com/repos/troglobit/libuev/contents/{+path}","compare_url":"https://api.github.com/repos/troglobit/libuev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/troglobit/libuev/merges","archive_url":"https://api.github.com/repos/troglobit/libuev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/troglobit/libuev/downloads","issues_url":"https://api.github.com/repos/troglobit/libuev/issues{/number}","pulls_url":"https://api.github.com/repos/troglobit/libuev/pulls{/number}","milestones_url":"https://api.github.com/repos/troglobit/libuev/milestones{/number}","notifications_url":"https://api.github.com/repos/troglobit/libuev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/troglobit/libuev/labels{/name}","releases_url":"https://api.github.com/repos/troglobit/libuev/releases{/id}","created_at":"2013-07-18T21:38:34Z","updated_at":"2015-06-08T10:02:15Z","pushed_at":"2015-06-13T13:51:54Z","git_url":"git://github.com/troglobit/libuev.git","ssh_url":"git@github.com:troglobit/libuev.git","clone_url":"https://github.com/troglobit/libuev.git","svn_url":"https://github.com/troglobit/libuev","homepage":"https://github.com/troglobit/libuev/blob/master/examples/joystick.c","size":632,"stargazers_count":6,"watchers_count":6,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/troglobit/libuev/pulls/4"},"html":{"href":"https://github.com/troglobit/libuev/pull/4"},"issue":{"href":"https://api.github.com/repos/troglobit/libuev/issues/4"},"comments":{"href":"https://api.github.com/repos/troglobit/libuev/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/troglobit/libuev/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/troglobit/libuev/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/troglobit/libuev/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/troglobit/libuev/statuses/f2edaeb129d557b25b5831d9782a362ec77d0614"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":89,"deletions":76,"changed_files":7}}