/**********************************************************
 *
 *			Function 	: PubMsg() 
 *			broker	 	: mqtt_broker_handle_t
 *			topic			:	sub topic
 *			Payload		:	msg payload
 *			PayLen		: payload length
 *			flag			: 0 qos 0 1 qos 1
 *			return 		: 0 pub topic success 1 pub topic fail.
 *			Add by Alex lin		2014-04-03
 *
 ***********************************************************/
int PubMsg( mqtt_broker_handle_t* broker, const char* topic, char* Payload, int PayLen, int flag )
{
    uint16_t msg_id;
    int pubFlag=0;

    switch(	flag )
    {
    case 0:	
        pubFlag = XPGmqtt_publish( broker,topic,Payload,PayLen,0 );
        break;
    case 1:	
        pubFlag = XPGmqtt_publish_with_qos( broker,topic,Payload,PayLen,0,1,&msg_id);
        // <<<<< PUBACK	
        /*
                        packet_length = MQTT_readPacket(g_stSocketRecBuffer,SOCKET_RECBUFFER_LEN);				            
                        if(check_mqttpushqos1( packet_buffer,packet_length,msg_id )) 
                        {
                        pubFlag=0;
                        }
                        else
                        {
                        pubFlag=1;
                        }
        */
        break;
    default:
        pubFlag=1;
        break;
    }

    return pubFlag;
}
/**********************************************************
*
*			Function 	: PubMsg() 
*			broker	 	: mqtt_broker_handle_t
*			topic			:	sub topic
*			Payload		:	msg payload
*			PayLen		: payload length
*			flag			: 0 qos 0 1 qos 1
*			return 		: 0 pub topic success 1 pub topic fail.
*			Add by Alex lin		2014-04-03
*
***********************************************************/
int PubMsg( mqtt_broker_handle_t* broker, const char* topic, char* Payload, int PayLen, int flag )
{
	uint16_t msg_id;
	int pubFlag=0;

	switch(	flag )
	{
		case 0:	
            pubFlag = XPGmqtt_publish( broker,topic,Payload,PayLen,0 );
            break;
		case 1:	
            pubFlag = XPGmqtt_publish_with_qos( broker,topic,Payload,PayLen,0,1,&msg_id);
			break;
		default:
            pubFlag=1;
			break;
	}
    
	return pubFlag;
}