matrix_thing/src/matrix/netreturn.cpp
2020-02-24 14:29:46 -08:00

52 lines
2.1 KiB
C++

/**
This file is a part of rexy's matrix client
Copyright (C) 2019-2020 rexy712
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "matrix/netreturn.hpp"
namespace matrix{
netreturn_base::netreturn_base(const raii::rjp_string& error, const raii::rjp_string& errorcode, int httpstatus):
m_error(error), m_errorcode(errorcode), m_http_error(httpstatus){}
netreturn_base::netreturn_base(const raii::rjp_string& error, raii::rjp_string&& errorcode, int httpstatus):
m_error(error), m_errorcode(std::move(errorcode)), m_http_error(httpstatus){}
netreturn_base::netreturn_base(raii::rjp_string&& error, const raii::rjp_string& errorcode, int httpstatus):
m_error(std::move(error)), m_errorcode(errorcode), m_http_error(httpstatus){}
netreturn_base::netreturn_base(raii::rjp_string&& error, raii::rjp_string&& errorcode, int httpstatus):
m_error(std::move(error)), m_errorcode(std::move(errorcode)), m_http_error(httpstatus){}
bool netreturn_base::ok(void)const{
return (!has_httperror() && !m_error);
}
const raii::rjp_string& netreturn_base::mxerror(void)const{
return m_error;
}
const raii::rjp_string& netreturn_base::mxerrorcode(void)const{
return m_errorcode;
}
raii::rjp_string& netreturn_base::mxerror(void){
return m_error;
}
raii::rjp_string& netreturn_base::mxerrorcode(void){
return m_errorcode;
}
int netreturn_base::httpstatus(void)const{
return m_http_error;
}
bool netreturn_base::has_httperror(void)const{
return (m_http_error > 299 || m_http_error < 200);
}
}