Skip to content
Snippets Groups Projects
Forked from Social Cognitive Systems / ipaaca
317 commits behind the upstream repository.
ipaaca.proto 2.60 KiB
// This file is part of IPAACA, the
//  "Incremental Processing Architecture
//   for Artificial Conversational Agents".	
//
// Copyright (c) 2009-2013 Sociable Agents Group
//                         CITEC, Bielefeld University	
//
// http://opensource.cit-ec.de/projects/ipaaca/
// http://purl.org/net/ipaaca
//
// This file may be licensed under the terms of of the
// GNU Lesser General Public License Version 3 (the ``LGPL''),
// or (at your option) any later version.
//
// Software distributed under the License is distributed
// on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
// express or implied. See the LGPL for the specific language
// governing rights and limitations.
//
// You should have received a copy of the LGPL along with this
// program. If not, go to http://www.gnu.org/licenses/lgpl.html
// or write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.	
//
// The development of this software was supported by the
// Excellence Cluster EXC 277 Cognitive Interaction Technology.
// The Excellence Cluster EXC 277 is a grant of the Deutsche
// Forschungsgemeinschaft (DFG) in the context of the German
// Excellence Initiative.

package ipaaca.protobuf;

message IntMessage {
	required sint32 value = 1;
}

message LinkSet {
	required string type = 1;
	repeated string targets = 2;
}

message PayloadItem {
	required string key = 1;
	required string value = 2;
	required string type = 3 [default = "str"];
}

message IU {
	enum AccessMode {
		PUSH = 0;
		REMOTE = 1;
		MESSAGE = 2;
	}

	required string uid  = 1;
	required uint32 revision = 2;
	required string category = 3 [default = "undef"];
	required string payload_type = 4 [default = "MAP"];
	required string owner_name = 5;
	required bool committed = 6 [default = false];
	required AccessMode access_mode = 7 [default = PUSH];
	required bool read_only = 8 [default = false];
	repeated PayloadItem payload = 9;
	repeated LinkSet links = 10;
}

message IUPayloadUpdate {
	required string uid = 1;
	required uint32 revision = 2;
	repeated PayloadItem new_items = 3;
	repeated string keys_to_remove = 4;
	required bool is_delta = 5 [default = false];
	required string writer_name = 6;
}

message IURetraction {
	required string uid = 1;
	required uint32 revision = 2;
}

message IUCommission {
	required string uid = 1;
	required uint32 revision = 2;
	required string writer_name = 3;
}

message IULinkUpdate {
	required string uid = 1;
	required uint32 revision = 2;
	repeated LinkSet new_links = 3;
	repeated LinkSet links_to_remove = 4;
	required bool is_delta = 5 [default = false];
	required string writer_name = 6;
}