{"action":"created","comment":{"url":"https://api.github.com/repos/01org/parameter-framework/pulls/comments/30418183","id":30418183,"diff_hunk":"@@ -0,0 +1,103 @@\n+/*\n+ * Copyright (c) 2011-2014, Intel Corporation\n+ * All rights reserved.\n+ *\n+ * Redistribution and use in source and binary forms, with or without modification,\n+ * are permitted provided that the following conditions are met:\n+ *\n+ * 1. Redistributions of source code must retain the above copyright notice, this\n+ * list of conditions and the following disclaimer.\n+ *\n+ * 2. Redistributions in binary form must reproduce the above copyright notice,\n+ * this list of conditions and the following disclaimer in the documentation and/or\n+ * other materials provided with the distribution.\n+ *\n+ * 3. Neither the name of the copyright holder nor the names of its contributors\n+ * may be used to endorse or promote products derived from this software without\n+ * specific prior written permission.\n+ *\n+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\n+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+#pragma once\n+\n+#include <string>\n+#include <map>\n+#include <set>\n+\n+namespace core\n+{\n+namespace selection\n+{\n+namespace criterion\n+{\n+\n+class CriterionInterface\n+{\n+public:\n+    /** Type which associate literal and numerical value */\n+    using Values = std::map<std::string, int>;\n+    /** */\n+    using State = std::set<int>;\n+\n+    /**\n+     *\n+     */\n+    virtual bool setState(const State& state, std::string& error) = 0;\n+\n+    /**\n+     *","path":"parameter/criterion/include/criterion/client/CriterionInterface.h","position":57,"original_position":57,"commit_id":"02be4b415b4c74433b277671630a7c6d0a27e0e0","original_commit_id":"02be4b415b4c74433b277671630a7c6d0a27e0e0","user":{"login":"dawagner","id":6430928,"avatar_url":"https://avatars.githubusercontent.com/u/6430928?v=3","gravatar_id":"","url":"https://api.github.com/users/dawagner","html_url":"https://github.com/dawagner","followers_url":"https://api.github.com/users/dawagner/followers","following_url":"https://api.github.com/users/dawagner/following{/other_user}","gists_url":"https://api.github.com/users/dawagner/gists{/gist_id}","starred_url":"https://api.github.com/users/dawagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dawagner/subscriptions","organizations_url":"https://api.github.com/users/dawagner/orgs","repos_url":"https://api.github.com/users/dawagner/repos","events_url":"https://api.github.com/users/dawagner/events{/privacy}","received_events_url":"https://api.github.com/users/dawagner/received_events","type":"User","site_admin":false},"body":"doc","created_at":"2015-05-15T15:27:47Z","updated_at":"2015-05-15T15:27:47Z","html_url":"https://github.com/01org/parameter-framework/pull/96#discussion_r30418183","pull_request_url":"https://api.github.com/repos/01org/parameter-framework/pulls/96","_links":{"self":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/comments/30418183"},"html":{"href":"https://github.com/01org/parameter-framework/pull/96#discussion_r30418183"},"pull_request":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/96"}}},"pull_request":{"url":"https://api.github.com/repos/01org/parameter-framework/pulls/96","id":33327421,"html_url":"https://github.com/01org/parameter-framework/pull/96","diff_url":"https://github.com/01org/parameter-framework/pull/96.diff","patch_url":"https://github.com/01org/parameter-framework/pull/96.patch","issue_url":"https://api.github.com/repos/01org/parameter-framework/issues/96","number":96,"state":"open","locked":false,"title":"Criterion rework","user":{"login":"clero","id":7363635,"avatar_url":"https://avatars.githubusercontent.com/u/7363635?v=3","gravatar_id":"","url":"https://api.github.com/users/clero","html_url":"https://github.com/clero","followers_url":"https://api.github.com/users/clero/followers","following_url":"https://api.github.com/users/clero/following{/other_user}","gists_url":"https://api.github.com/users/clero/gists{/gist_id}","starred_url":"https://api.github.com/users/clero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clero/subscriptions","organizations_url":"https://api.github.com/users/clero/orgs","repos_url":"https://api.github.com/users/clero/repos","events_url":"https://api.github.com/users/clero/events{/privacy}","received_events_url":"https://api.github.com/users/clero/received_events","type":"User","site_admin":false},"body":"Depends on #93 \r\n\r\nThis is a rework of Pfw criterion. Please do not merge now but some feedback on designs changes would be appreciate.\r\n\r\nNext step:\r\nUpdate coding style everywhere\r\nSome documentation is still missing\r\n","created_at":"2015-04-15T07:00:59Z","updated_at":"2015-05-15T15:27:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cc395626a43f1917bfb1857cd4ce903fe7b738f0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/01org/parameter-framework/pulls/96/commits","review_comments_url":"https://api.github.com/repos/01org/parameter-framework/pulls/96/comments","review_comment_url":"https://api.github.com/repos/01org/parameter-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/01org/parameter-framework/issues/96/comments","statuses_url":"https://api.github.com/repos/01org/parameter-framework/statuses/02be4b415b4c74433b277671630a7c6d0a27e0e0","head":{"label":"clero:criterion_rework","ref":"criterion_rework","sha":"02be4b415b4c74433b277671630a7c6d0a27e0e0","user":{"login":"clero","id":7363635,"avatar_url":"https://avatars.githubusercontent.com/u/7363635?v=3","gravatar_id":"","url":"https://api.github.com/users/clero","html_url":"https://github.com/clero","followers_url":"https://api.github.com/users/clero/followers","following_url":"https://api.github.com/users/clero/following{/other_user}","gists_url":"https://api.github.com/users/clero/gists{/gist_id}","starred_url":"https://api.github.com/users/clero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clero/subscriptions","organizations_url":"https://api.github.com/users/clero/orgs","repos_url":"https://api.github.com/users/clero/repos","events_url":"https://api.github.com/users/clero/events{/privacy}","received_events_url":"https://api.github.com/users/clero/received_events","type":"User","site_admin":false},"repo":{"id":30524280,"name":"parameter-framework","full_name":"clero/parameter-framework","owner":{"login":"clero","id":7363635,"avatar_url":"https://avatars.githubusercontent.com/u/7363635?v=3","gravatar_id":"","url":"https://api.github.com/users/clero","html_url":"https://github.com/clero","followers_url":"https://api.github.com/users/clero/followers","following_url":"https://api.github.com/users/clero/following{/other_user}","gists_url":"https://api.github.com/users/clero/gists{/gist_id}","starred_url":"https://api.github.com/users/clero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clero/subscriptions","organizations_url":"https://api.github.com/users/clero/orgs","repos_url":"https://api.github.com/users/clero/repos","events_url":"https://api.github.com/users/clero/events{/privacy}","received_events_url":"https://api.github.com/users/clero/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/clero/parameter-framework","description":"Plugin-based and rule-based framework for describing and controlling parameters","fork":true,"url":"https://api.github.com/repos/clero/parameter-framework","forks_url":"https://api.github.com/repos/clero/parameter-framework/forks","keys_url":"https://api.github.com/repos/clero/parameter-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/clero/parameter-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/clero/parameter-framework/teams","hooks_url":"https://api.github.com/repos/clero/parameter-framework/hooks","issue_events_url":"https://api.github.com/repos/clero/parameter-framework/issues/events{/number}","events_url":"https://api.github.com/repos/clero/parameter-framework/events","assignees_url":"https://api.github.com/repos/clero/parameter-framework/assignees{/user}","branches_url":"https://api.github.com/repos/clero/parameter-framework/branches{/branch}","tags_url":"https://api.github.com/repos/clero/parameter-framework/tags","blobs_url":"https://api.github.com/repos/clero/parameter-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/clero/parameter-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/clero/parameter-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/clero/parameter-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/clero/parameter-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/clero/parameter-framework/languages","stargazers_url":"https://api.github.com/repos/clero/parameter-framework/stargazers","contributors_url":"https://api.github.com/repos/clero/parameter-framework/contributors","subscribers_url":"https://api.github.com/repos/clero/parameter-framework/subscribers","subscription_url":"https://api.github.com/repos/clero/parameter-framework/subscription","commits_url":"https://api.github.com/repos/clero/parameter-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/clero/parameter-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/clero/parameter-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/clero/parameter-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/clero/parameter-framework/contents/{+path}","compare_url":"https://api.github.com/repos/clero/parameter-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/clero/parameter-framework/merges","archive_url":"https://api.github.com/repos/clero/parameter-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/clero/parameter-framework/downloads","issues_url":"https://api.github.com/repos/clero/parameter-framework/issues{/number}","pulls_url":"https://api.github.com/repos/clero/parameter-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/clero/parameter-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/clero/parameter-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/clero/parameter-framework/labels{/name}","releases_url":"https://api.github.com/repos/clero/parameter-framework/releases{/id}","created_at":"2015-02-09T07:42:27Z","updated_at":"2015-04-20T12:02:41Z","pushed_at":"2015-05-13T15:59:47Z","git_url":"git://github.com/clero/parameter-framework.git","ssh_url":"git@github.com:clero/parameter-framework.git","clone_url":"https://github.com/clero/parameter-framework.git","svn_url":"https://github.com/clero/parameter-framework","homepage":"","size":35980,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"01org:next","ref":"next","sha":"391d9707b23b457af25465267f235cf3647de7cf","user":{"login":"01org","id":1635439,"avatar_url":"https://avatars.githubusercontent.com/u/1635439?v=3","gravatar_id":"","url":"https://api.github.com/users/01org","html_url":"https://github.com/01org","followers_url":"https://api.github.com/users/01org/followers","following_url":"https://api.github.com/users/01org/following{/other_user}","gists_url":"https://api.github.com/users/01org/gists{/gist_id}","starred_url":"https://api.github.com/users/01org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/01org/subscriptions","organizations_url":"https://api.github.com/users/01org/orgs","repos_url":"https://api.github.com/users/01org/repos","events_url":"https://api.github.com/users/01org/events{/privacy}","received_events_url":"https://api.github.com/users/01org/received_events","type":"Organization","site_admin":false},"repo":{"id":16009363,"name":"parameter-framework","full_name":"01org/parameter-framework","owner":{"login":"01org","id":1635439,"avatar_url":"https://avatars.githubusercontent.com/u/1635439?v=3","gravatar_id":"","url":"https://api.github.com/users/01org","html_url":"https://github.com/01org","followers_url":"https://api.github.com/users/01org/followers","following_url":"https://api.github.com/users/01org/following{/other_user}","gists_url":"https://api.github.com/users/01org/gists{/gist_id}","starred_url":"https://api.github.com/users/01org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/01org/subscriptions","organizations_url":"https://api.github.com/users/01org/orgs","repos_url":"https://api.github.com/users/01org/repos","events_url":"https://api.github.com/users/01org/events{/privacy}","received_events_url":"https://api.github.com/users/01org/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/01org/parameter-framework","description":"Plugin-based and rule-based framework for describing and controlling parameters","fork":false,"url":"https://api.github.com/repos/01org/parameter-framework","forks_url":"https://api.github.com/repos/01org/parameter-framework/forks","keys_url":"https://api.github.com/repos/01org/parameter-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/01org/parameter-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/01org/parameter-framework/teams","hooks_url":"https://api.github.com/repos/01org/parameter-framework/hooks","issue_events_url":"https://api.github.com/repos/01org/parameter-framework/issues/events{/number}","events_url":"https://api.github.com/repos/01org/parameter-framework/events","assignees_url":"https://api.github.com/repos/01org/parameter-framework/assignees{/user}","branches_url":"https://api.github.com/repos/01org/parameter-framework/branches{/branch}","tags_url":"https://api.github.com/repos/01org/parameter-framework/tags","blobs_url":"https://api.github.com/repos/01org/parameter-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/01org/parameter-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/01org/parameter-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/01org/parameter-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/01org/parameter-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/01org/parameter-framework/languages","stargazers_url":"https://api.github.com/repos/01org/parameter-framework/stargazers","contributors_url":"https://api.github.com/repos/01org/parameter-framework/contributors","subscribers_url":"https://api.github.com/repos/01org/parameter-framework/subscribers","subscription_url":"https://api.github.com/repos/01org/parameter-framework/subscription","commits_url":"https://api.github.com/repos/01org/parameter-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/01org/parameter-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/01org/parameter-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/01org/parameter-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/01org/parameter-framework/contents/{+path}","compare_url":"https://api.github.com/repos/01org/parameter-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/01org/parameter-framework/merges","archive_url":"https://api.github.com/repos/01org/parameter-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/01org/parameter-framework/downloads","issues_url":"https://api.github.com/repos/01org/parameter-framework/issues{/number}","pulls_url":"https://api.github.com/repos/01org/parameter-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/01org/parameter-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/01org/parameter-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/01org/parameter-framework/labels{/name}","releases_url":"https://api.github.com/repos/01org/parameter-framework/releases{/id}","created_at":"2014-01-17T19:24:01Z","updated_at":"2015-04-24T08:33:44Z","pushed_at":"2015-05-15T10:26:40Z","git_url":"git://github.com/01org/parameter-framework.git","ssh_url":"git@github.com:01org/parameter-framework.git","clone_url":"https://github.com/01org/parameter-framework.git","svn_url":"https://github.com/01org/parameter-framework","homepage":"","size":44554,"stargazers_count":8,"watchers_count":8,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":17,"mirror_url":null,"open_issues_count":24,"forks":17,"open_issues":24,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/96"},"html":{"href":"https://github.com/01org/parameter-framework/pull/96"},"issue":{"href":"https://api.github.com/repos/01org/parameter-framework/issues/96"},"comments":{"href":"https://api.github.com/repos/01org/parameter-framework/issues/96/comments"},"review_comments":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/96/comments"},"review_comment":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/96/commits"},"statuses":{"href":"https://api.github.com/repos/01org/parameter-framework/statuses/02be4b415b4c74433b277671630a7c6d0a27e0e0"}}}}