|
@@ -31,10 +31,14 @@ int myco_agent_register(const char *agent_name) {
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- printf("%s", msg.message);
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
return message_queue_id;
|
|
|
}
|
|
@@ -47,10 +51,14 @@ int myco_agent_unregister (const char *agent_name, int message_queue_id) {
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- printf("%s", msg.message);
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -65,10 +73,14 @@ int myco_agent_register_resource (int message_queue_id, const char *agent_name,
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- printf("%s", msg.message);
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -81,10 +93,14 @@ int myco_agent_unregister_resource (int message_queue_id, const char *resource_n
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- printf("%s", msg.message);
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -97,6 +113,12 @@ int myco_agent_request_resource(int message_queue_id, char *resource_name) {
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
@@ -105,6 +127,7 @@ int myco_agent_request_resource(int message_queue_id, char *resource_name) {
|
|
|
|
|
|
int myco_agent_request_resource_list(int message_queue_id) {
|
|
|
char *resource_pointer;
|
|
|
+ char *split;
|
|
|
|
|
|
message msg;
|
|
|
msg.agent_message_queue_id = message_queue_id;
|
|
@@ -113,20 +136,31 @@ int myco_agent_request_resource_list(int message_queue_id) {
|
|
|
|
|
|
msg = myco_send_and_receive(msg, message_queue_id);
|
|
|
if (msg.message == NULL) {
|
|
|
+ printf("ERROR: Transfered message is empty.");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- printf("%s", msg.message);
|
|
|
+ if (strncmp(msg.message, "SUCCESS:", 8) != 0) {
|
|
|
+ printf("%s", msg.message);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
resource_pointer = malloc(msg.resource_size);
|
|
|
|
|
|
if (myco_read_transactional(msg.sender_pid, msg.resource_pointer, msg.resource_size, (void *)resource_pointer, msg.resource_size) == -1) {
|
|
|
- printf("ERROR: transfer did not work!\n");
|
|
|
- } else {
|
|
|
- printf("%s\n", resource_pointer);
|
|
|
+ printf("ERROR: %s\n", strerror(errno));
|
|
|
+ return -1;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ printf("%s\n", resource_pointer);
|
|
|
+ /*
|
|
|
+ split = strtok(resource_pointer, ";");
|
|
|
+ while (split != NULL) {
|
|
|
+ printf("%s\n", split);
|
|
|
+ split = strtok(NULL, ";");
|
|
|
+ }
|
|
|
+ */
|
|
|
+ free(resource_pointer);
|
|
|
|
|
|
return 0;
|
|
|
}
|