-------------------------------------------------
-- 本文件由代码生成器自动生成,
-- 千万不要修改本文件的任何代码,
-- 修改的的任何代码都会被覆盖掉!
----------------------------------------------------

local Socket = require "Xmds.Pomelo.LuaGameSocket"
require "base64"
require "zhanYaoHandler_pb"

--------------------------------Pomelo-------------------------------
Pomelo = Pomelo or {}

--------------------------------ZhanYaoHandler-------------------------------
Pomelo.ZhanYaoHandler = {}

local function getZhanYaoMainDataRequestEncoder(msg)
	local input = zhanYaoHandler_pb.GetZhanYaoMainDataRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function getZhanYaoMainDataRequestDecoder(stream)
	local res = zhanYaoHandler_pb.GetZhanYaoMainDataponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.getZhanYaoMainDataRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.getZhanYaoMainDataRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.getZhanYaoMainDataRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastGetZhanYaoMainDataponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getZhanYaoMainDataRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.getZhanYaoMainDataRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getZhanYaoMainDataRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, getZhanYaoMainDataRequestEncoder, getZhanYaoMainDataRequestDecoder)
end


local function upgradeYaoQiLevelRequestEncoder(msg)
	local input = zhanYaoHandler_pb.UpgradeYaoQiLevelRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function upgradeYaoQiLevelRequestDecoder(stream)
	local res = zhanYaoHandler_pb.UpgradeYaoQiLevelResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.upgradeYaoQiLevelRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.upgradeYaoQiLevelRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.upgradeYaoQiLevelRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastUpgradeYaoQiLevelResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeYaoQiLevelRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.upgradeYaoQiLevelRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeYaoQiLevelRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, upgradeYaoQiLevelRequestEncoder, upgradeYaoQiLevelRequestDecoder)
end


local function getTodayZhanYaoAwardRequestEncoder(msg)
	local input = zhanYaoHandler_pb.GetTodayZhanYaoAwardRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function getTodayZhanYaoAwardRequestDecoder(stream)
	local res = zhanYaoHandler_pb.GetTodayZhanYaoAwardResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.getTodayZhanYaoAwardRequest(c2s_awardId,cb,option)
	local msg = {}
	msg.c2s_awardId = c2s_awardId
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.getTodayZhanYaoAwardRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.getTodayZhanYaoAwardRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastGetTodayZhanYaoAwardResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getTodayZhanYaoAwardRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.getTodayZhanYaoAwardRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getTodayZhanYaoAwardRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, getTodayZhanYaoAwardRequestEncoder, getTodayZhanYaoAwardRequestDecoder)
end


local function getPlayerShareYaoQiRequestEncoder(msg)
	local input = zhanYaoHandler_pb.GetPlayerShareYaoQiRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function getPlayerShareYaoQiRequestDecoder(stream)
	local res = zhanYaoHandler_pb.GetPlayerShareYaoQiResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.getPlayerShareYaoQiRequest(c2s_areaId,c2s_itemShareId,cb,option)
	local msg = {}
	msg.c2s_areaId = c2s_areaId
	msg.c2s_itemShareId = c2s_itemShareId
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.getPlayerShareYaoQiRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.getPlayerShareYaoQiRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastGetPlayerShareYaoQiResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getPlayerShareYaoQiRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.getPlayerShareYaoQiRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getPlayerShareYaoQiRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, getPlayerShareYaoQiRequestEncoder, getPlayerShareYaoQiRequestDecoder)
end


local function zhanyaoLotteryRequestEncoder(msg)
	local input = zhanYaoHandler_pb.ZhanyaoLotteryRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function zhanyaoLotteryRequestDecoder(stream)
	local res = zhanYaoHandler_pb.ZhanyaoLotteryResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.zhanyaoLotteryRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.zhanyaoLotteryRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.zhanyaoLotteryRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastZhanyaoLotteryResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.zhanyaoLotteryRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.zhanyaoLotteryRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.zhanyaoLotteryRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, zhanyaoLotteryRequestEncoder, zhanyaoLotteryRequestDecoder)
end


local function receiveZhanyaoRewardBoxRequestEncoder(msg)
	local input = zhanYaoHandler_pb.ReceiveZhanyaoRewardBoxRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function receiveZhanyaoRewardBoxRequestDecoder(stream)
	local res = zhanYaoHandler_pb.ReceiveZhanyaoRewardBoxResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.receiveZhanyaoRewardBoxRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.receiveZhanyaoRewardBoxRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.receiveZhanyaoRewardBoxRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastReceiveZhanyaoRewardBoxResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.receiveZhanyaoRewardBoxRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.receiveZhanyaoRewardBoxRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.receiveZhanyaoRewardBoxRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, receiveZhanyaoRewardBoxRequestEncoder, receiveZhanyaoRewardBoxRequestDecoder)
end


local function searchDemonRequestEncoder(msg)
	local input = zhanYaoHandler_pb.SearchDemonRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function searchDemonRequestDecoder(stream)
	local res = zhanYaoHandler_pb.SearchDemonResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.searchDemonRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.searchDemonRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.searchDemonRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastSearchDemonResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.searchDemonRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.searchDemonRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.searchDemonRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, searchDemonRequestEncoder, searchDemonRequestDecoder)
end


local function upgradeGourdRequestEncoder(msg)
	local input = zhanYaoHandler_pb.UpgradeGourdRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function upgradeGourdRequestDecoder(stream)
	local res = zhanYaoHandler_pb.UpgradeGourdResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.upgradeGourdRequest(opType,cb,option)
	local msg = {}
	msg.opType = opType
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.upgradeGourdRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.upgradeGourdRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastUpgradeGourdResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeGourdRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.upgradeGourdRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeGourdRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, upgradeGourdRequestEncoder, upgradeGourdRequestDecoder)
end


local function clearSearchDemonFlagRequestEncoder(msg)
	local input = zhanYaoHandler_pb.ClearSearchDemonFlagRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function clearSearchDemonFlagRequestDecoder(stream)
	local res = zhanYaoHandler_pb.ClearSearchDemonFlagResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.clearSearchDemonFlagRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.clearSearchDemonFlagRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.clearSearchDemonFlagRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastClearSearchDemonFlagResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.clearSearchDemonFlagRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.clearSearchDemonFlagRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.clearSearchDemonFlagRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, clearSearchDemonFlagRequestEncoder, clearSearchDemonFlagRequestDecoder)
end


local function soulLampRequestEncoder(msg)
	local input = zhanYaoHandler_pb.SoulLampRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function soulLampRequestDecoder(stream)
	local res = zhanYaoHandler_pb.SoulLampResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.soulLampRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.soulLampRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.soulLampRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastSoulLampResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.soulLampRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.soulLampRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.soulLampRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, soulLampRequestEncoder, soulLampRequestDecoder)
end


local function getStoryAwardRequestEncoder(msg)
	local input = zhanYaoHandler_pb.GetStoryAwardRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function getStoryAwardRequestDecoder(stream)
	local res = zhanYaoHandler_pb.GetStoryAwardResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.getStoryAwardRequest(memoriesId,cb,option)
	local msg = {}
	msg.memoriesId = memoriesId
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.getStoryAwardRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.getStoryAwardRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastGetStoryAwardResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getStoryAwardRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.getStoryAwardRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.getStoryAwardRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, getStoryAwardRequestEncoder, getStoryAwardRequestDecoder)
end


local function mosaicSoulBallRequestEncoder(msg)
	local input = zhanYaoHandler_pb.MosaicSoulBallRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function mosaicSoulBallRequestDecoder(stream)
	local res = zhanYaoHandler_pb.MosaicSoulBallResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.mosaicSoulBallRequest(skillId,pos,cb,option)
	local msg = {}
	msg.skillId = skillId
	msg.pos = pos
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.mosaicSoulBallRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.mosaicSoulBallRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastMosaicSoulBallResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.mosaicSoulBallRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.mosaicSoulBallRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.mosaicSoulBallRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, mosaicSoulBallRequestEncoder, mosaicSoulBallRequestDecoder)
end


local function switchSkillRequestEncoder(msg)
	local input = zhanYaoHandler_pb.SwitchSkillRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function switchSkillRequestDecoder(stream)
	local res = zhanYaoHandler_pb.SwitchSkillResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.switchSkillRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.switchSkillRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.switchSkillRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastSwitchSkillResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.switchSkillRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.switchSkillRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.switchSkillRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, switchSkillRequestEncoder, switchSkillRequestDecoder)
end


local function upgradeYaojueSkillRequestEncoder(msg)
	local input = zhanYaoHandler_pb.UpgradeYaojueSkillRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function upgradeYaojueSkillRequestDecoder(stream)
	local res = zhanYaoHandler_pb.UpgradeYaojueSkillResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.upgradeYaojueSkillRequest(cb,option)
	local input = nil
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.upgradeYaojueSkillRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.upgradeYaojueSkillRequest", input, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastUpgradeYaojueSkillResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeYaojueSkillRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.upgradeYaojueSkillRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.upgradeYaojueSkillRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, upgradeYaojueSkillRequestEncoder, upgradeYaojueSkillRequestDecoder)
end


local function alchemyRequestEncoder(msg)
	local input = zhanYaoHandler_pb.AlchemyRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function alchemyRequestDecoder(stream)
	local res = zhanYaoHandler_pb.AlchemyResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.alchemyRequest(destId,chooseItem,cb,option)
	local msg = {}
	msg.destId = destId
	msg.chooseItem = chooseItem
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.alchemyRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.alchemyRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastAlchemyResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.alchemyRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.alchemyRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.alchemyRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, alchemyRequestEncoder, alchemyRequestDecoder)
end


local function receiveAlchemyItemRequestEncoder(msg)
	local input = zhanYaoHandler_pb.ReceiveAlchemyItemRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function receiveAlchemyItemRequestDecoder(stream)
	local res = zhanYaoHandler_pb.ReceiveAlchemyItemResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.receiveAlchemyItemRequest(index,cb,option)
	local msg = {}
	msg.index = index
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.receiveAlchemyItemRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.receiveAlchemyItemRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastReceiveAlchemyItemResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.receiveAlchemyItemRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.receiveAlchemyItemRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.receiveAlchemyItemRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, receiveAlchemyItemRequestEncoder, receiveAlchemyItemRequestDecoder)
end


local function removeSoulBallRequestEncoder(msg)
	local input = zhanYaoHandler_pb.RemoveSoulBallRequest()
	protobuf.FromMessage(input,msg)
	return (input:SerializeToString())
end

local function removeSoulBallRequestDecoder(stream)
	local res = zhanYaoHandler_pb.RemoveSoulBallResponse()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.removeSoulBallRequest(skillId,pos,cb,option)
	local msg = {}
	msg.skillId = skillId
	msg.pos = pos
	Socket.OnRequestStart("zhanyao.zhanYaoHandler.removeSoulBallRequest", option)
	Socket.Request("zhanyao.zhanYaoHandler.removeSoulBallRequest", msg, function(res)
		if(res.s2c_code == 200) then
			Pomelo.ZhanYaoHandler.lastRemoveSoulBallResponse = res
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.removeSoulBallRequest", true)
			cb(nil,res)
		else
			local ex = {}
			if(res.s2c_code) then
				ex.Code = res.s2c_code
				ex.Message = res.s2c_msg
			else
				ex.Code = 501
				ex.Message = "[LuaXmdsNetClient] zhanyao.zhanYaoHandler.removeSoulBallRequest decode error!!"
			end
			Socket.OnRequestEnd("zhanyao.zhanYaoHandler.removeSoulBallRequest", false,ex.Code,ex.Message)
			cb(ex,nil)
		end
	end, removeSoulBallRequestEncoder, removeSoulBallRequestDecoder)
end


local function playerYaoQiSharePushDecoder(stream)
	local res = zhanYaoHandler_pb.PlayerYaoQiSharePush()
	res:ParseFromString(stream)
	return res
end

function Pomelo.ZhanYaoHandler.playerYaoQiSharePush(cb)
	Socket.On("zhanyao.zhanYaoPush.playerYaoQiSharePush", function(res) 
		Pomelo.ZhanYaoHandler.lastPlayerYaoQiSharePush = res
		cb(nil,res) 
	end, playerYaoQiSharePushDecoder) 
end




--------------------------------Pomelo-------------------------------
return Pomelo