示例#1
0
int main() {
	Conversation newConversation;
	newConversation = malloc(sizeof(struct conversation_t));
	newConversation = conversationCreate(3);
	Message newMessage;
	char *random = "abcdegf"
	newMessage = messageTextCreate(302365697, random);
	conversationAddMessage(newConversation, newMessage);
	printf("%s\n", newConversation->messages_ptr[0]->content.text);
	printf("%s\n", newConversation->messages_ptr[0]->senderID);
	return 0;
}
示例#2
0
文件: message.c 项目: ompri/First
Message messageCopy(const Message message) {

	if (!message) {
		return NULL;
	}

	MessageType type =message->type;

	Message msg=NULL;
	if (type == MESSAGE_TEXT) {

		char* copy = malloc((strlen(message->content.text)+1)*sizeof(char));
		if(!copy)
			return NULL;
		strcpy(copy,message->content.text);

		msg=messageTextCreate(message->senderID, copy);
	}else{

		/*
		 TODO:
		 	 1)maybe we should use messageImageCreate (there's a const problem)
		 	 2)if we initate it here, should we use malloc for data?\
		 	  in different words, we should copy the code from messageImageCreate
		 */

		msg = malloc(sizeof(*message));
		if (!msg) {
			return NULL;
		}

		msg->senderID = message->senderID;
		msg->type = MESSAGE_IMAGE;
		msg->content.image.width = message->content.image.width;
		msg->content.image.height = message->content.image.height;


		for (int i = 0; i < msg->content.image.height; i++) {
			for (int j = 0; j < msg->content.image.width; j++) {
				msg->content.image.data[i][j] = message->content.image.data[i][j];
			}
		}


	}

	return msg;

}
示例#3
0
Conversation conversationAddMessage(Conversation conversation, Message message) {
	if(message == NULL || conversation == NULL) {
		return CONVERSATION_NULL_ARGUMENT;
	}
	int currentIndex = 0;
	currentIndex = isConversationFull(conversation);
	if(currentIndex == -1) {
		return CONVERSATION_FULL;
	}
	Message newMessage;
	if(message->type  == MESSAGE_TEXT) {
		newMessage = messageTextCreate(message->senderID, message->content.text);
	} else {
		//newMessage = messageImageCreate(message);
	} 
	conversation->messages[currentIndex] = newMessage;
	return 	CONVERSATION_SUCCESS;
}