diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 7879d98fd..bbf62284e 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -61,8 +61,9 @@ h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify" * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) * https://github.com/chjj/marked */ -(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occured:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); +(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occurred:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); </script> + <script> $( document ).ready(function() { marked.setOptions({ @@ -16921,7 +16922,7 @@ except ApiException as e: </div> <div id="generator"> <div class="content"> - Generated 2018-01-25T00:10:31.068+01:00 + Generated 2018-02-12T16:42:25.289+01:00 </div> </div> </div> @@ -17145,7 +17146,7 @@ return /******/ (function(modules) { // webpackBootstrap }); Object.defineProperty(JSONFormatter.prototype, "hasKey", { /* - * did we recieve a key argument? + * did we receive a key argument? * This means that the formatter was called as a sub formatter of a parent formatter */ get: function () { @@ -17754,7 +17755,7 @@ return /******/ (function(modules) { // webpackBootstrap var sourceMap = obj.sourceMap; if(sourceMap) { - // http://stackoverflow.com/a/26603875 + // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"; } @@ -17775,14 +17776,14 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; /* - * Escapes `"` charachters from string - */ + * Escapes `"` characters from string + */ function escapeString(str) { return str.replace('"', '\"'); } /* * Determines if a value is an object - */ + */ function isObject(value) { var type = typeof value; return !!value && (type == 'object'); @@ -17790,32 +17791,27 @@ return /******/ (function(modules) { // webpackBootstrap exports.isObject = isObject; /* * Gets constructor name of an object. - * From http://stackoverflow.com/a/332429 * - */ + */ function getObjectName(object) { if (object === undefined) { return ''; } - if (object === null) { - return 'Object'; - } - if (typeof object === 'object' && !object.constructor) { + if (object === null || (typeof object === 'object' && !object.constructor)) { return 'Object'; } var funcNameRegex = /function ([^(]*)/; var results = (funcNameRegex).exec((object).constructor.toString()); if (results && results.length > 1) { return results[1]; - } - else { + } else { return ''; } } exports.getObjectName = getObjectName; /* * Gets type of an object. Returns "null" for null objects - */ + */ function getType(object) { if (object === null) { return 'null'; @@ -17867,7 +17863,7 @@ return /******/ (function(modules) { // webpackBootstrap } exports.cssClass = cssClass; /* - * Creates a new DOM element wiht given type and class + * Creates a new DOM element with given type and class * TODO: move me to helpers */ function createElement(type, className, content) { @@ -17895,6 +17891,7 @@ return /******/ (function(modules) { // webpackBootstrap //# sourceMappingURL=json-formatter.js.map </script> + <script> (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSONSchemaView = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ @@ -18062,9 +18059,9 @@ var JSONSchemaView = (function () { (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam != true)(_templateObject26, this.schema.required), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam == true)(_templateObject266, this.schema.required), - (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']), + (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']),(0, _helpersJs._if)(!this.isCollapsed)(_templateObject29), (0, _helpersJs._if)(!this.isCollapsed && this.schema.pattern)(_templateObject28, this.schema.pattern), - (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject29)) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); + (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); } /* diff --git a/swagger/sdrangel/README.md b/swagger/sdrangel/README.md index 8349dedcc..728fb92d3 100644 --- a/swagger/sdrangel/README.md +++ b/swagger/sdrangel/README.md @@ -65,20 +65,24 @@ swagger project start -m <h3>Installation</h3> -The code generator is delivered in the form of a jar that you execute from the console using the java command. First make sure you have a JDK or JRE version 1.7 or above. In our example it will be located in `/opt/install/jdk1.8.0_74/` +The released code generator is presently creating memory leaks for the Qt5/cpp generated code. A fixed version is available [here](https://github.com/etherealjoy/swagger-codegen/tree/qt5cpp_rework_antis81_patch-1). -Download the jar from [this archive](https://oss.sonatype.org/content/repositories/releases/io/swagger/swagger-codegen-cli/). Choose the latest version ex: 2.2.3 which can be done with wget. Say you want to install the jar in `/opt/install/swagger`: +So you will have to clone this repository and checkout the `qt5cpp_rework_antis81_patch-1` branch. Then follow the build instructions which are very simple when using maven: ```shell -cd /opt/install/swagger -wget https://oss.sonatype.org/content/repositories/releases/io/swagger/swagger-codegen-cli/2.2.3/swagger-codegen-cli-2.2.3.jar +sudo apt-get install maven # do this once to install maven +cd swagger-codegen +export JAVA_HOME=/opt/install/jdk1.8.0_74 # Example JDK change to your own +mvn clean package # let it compile... +mkdir -p /opt/install/swagger/swagger-codegen +cp modules/swagger-codegen-cli/target/swagger-codegen-cli.jar /opt/install/swagger/swagger-codegen ``` -Then in the same directory write a little `swagger-codegen` shell script to facilitate the invocation. For example: +Then in the `/opt/install/swagger/` directory write a little `swagger-codegen` shell script to facilitate the invocation. For example: ```shell #!/bin/sh -/opt/install/jdk1.8.0_74/bin/java -jar /opt/install/swagger/swagger-codegen-cli-2.2.3.jar ${*} +/opt/install/jdk1.8.0_74/bin/java -jar /opt/install/swagger/swagger-codegen-cli.jar ${*} ``` Then invoke the generator with `/opt/install/swagger/swagger-codegen <commands>` @@ -128,4 +132,4 @@ Detailed instructions [here](https://swagger.io/docs/swagger-tools/#download-33) - Open the `dist/index.html` file with a browser - Say you started the node server on 127.0.0.1 port 8081 as in the example above (see: "Edit files with Swagger" paragraph) - In the "Explore" box at the top type: `http://127.0.0.1:8081/api/swagger/swagger.yaml` - - Hit enter or click on the "Explore" button \ No newline at end of file + - Hit enter or click on the "Explore" button diff --git a/swagger/sdrangel/code/html2/.swagger-codegen/VERSION b/swagger/sdrangel/code/html2/.swagger-codegen/VERSION index 6b4d15773..855ff9501 100644 --- a/swagger/sdrangel/code/html2/.swagger-codegen/VERSION +++ b/swagger/sdrangel/code/html2/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3 \ No newline at end of file +2.4.0-SNAPSHOT \ No newline at end of file diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 7879d98fd..bbf62284e 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -61,8 +61,9 @@ h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify" * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) * https://github.com/chjj/marked */ -(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occured:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); +(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occurred:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); </script> + <script> $( document ).ready(function() { marked.setOptions({ @@ -16921,7 +16922,7 @@ except ApiException as e: </div> <div id="generator"> <div class="content"> - Generated 2018-01-25T00:10:31.068+01:00 + Generated 2018-02-12T16:42:25.289+01:00 </div> </div> </div> @@ -17145,7 +17146,7 @@ return /******/ (function(modules) { // webpackBootstrap }); Object.defineProperty(JSONFormatter.prototype, "hasKey", { /* - * did we recieve a key argument? + * did we receive a key argument? * This means that the formatter was called as a sub formatter of a parent formatter */ get: function () { @@ -17754,7 +17755,7 @@ return /******/ (function(modules) { // webpackBootstrap var sourceMap = obj.sourceMap; if(sourceMap) { - // http://stackoverflow.com/a/26603875 + // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"; } @@ -17775,14 +17776,14 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; /* - * Escapes `"` charachters from string - */ + * Escapes `"` characters from string + */ function escapeString(str) { return str.replace('"', '\"'); } /* * Determines if a value is an object - */ + */ function isObject(value) { var type = typeof value; return !!value && (type == 'object'); @@ -17790,32 +17791,27 @@ return /******/ (function(modules) { // webpackBootstrap exports.isObject = isObject; /* * Gets constructor name of an object. - * From http://stackoverflow.com/a/332429 * - */ + */ function getObjectName(object) { if (object === undefined) { return ''; } - if (object === null) { - return 'Object'; - } - if (typeof object === 'object' && !object.constructor) { + if (object === null || (typeof object === 'object' && !object.constructor)) { return 'Object'; } var funcNameRegex = /function ([^(]*)/; var results = (funcNameRegex).exec((object).constructor.toString()); if (results && results.length > 1) { return results[1]; - } - else { + } else { return ''; } } exports.getObjectName = getObjectName; /* * Gets type of an object. Returns "null" for null objects - */ + */ function getType(object) { if (object === null) { return 'null'; @@ -17867,7 +17863,7 @@ return /******/ (function(modules) { // webpackBootstrap } exports.cssClass = cssClass; /* - * Creates a new DOM element wiht given type and class + * Creates a new DOM element with given type and class * TODO: move me to helpers */ function createElement(type, className, content) { @@ -17895,6 +17891,7 @@ return /******/ (function(modules) { // webpackBootstrap //# sourceMappingURL=json-formatter.js.map </script> + <script> (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSONSchemaView = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ @@ -18062,9 +18059,9 @@ var JSONSchemaView = (function () { (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam != true)(_templateObject26, this.schema.required), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam == true)(_templateObject266, this.schema.required), - (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']), + (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']),(0, _helpersJs._if)(!this.isCollapsed)(_templateObject29), (0, _helpersJs._if)(!this.isCollapsed && this.schema.pattern)(_templateObject28, this.schema.pattern), - (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject29)) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); + (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); } /* diff --git a/swagger/sdrangel/code/qt5/.swagger-codegen/VERSION b/swagger/sdrangel/code/qt5/.swagger-codegen/VERSION index 6b4d15773..855ff9501 100644 --- a/swagger/sdrangel/code/qt5/.swagger-codegen/VERSION +++ b/swagger/sdrangel/code/qt5/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3 \ No newline at end of file +2.4.0-SNAPSHOT \ No newline at end of file diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevice.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioDevice.cpp index 3d9ed076d..ecbc70525 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevice.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevice.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGAudioDevice::SWGAudioDevice(QString* json) { +SWGAudioDevice::SWGAudioDevice(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGAudioDevice::SWGAudioDevice() { @@ -38,18 +38,18 @@ SWGAudioDevice::~SWGAudioDevice() { void SWGAudioDevice::init() { name = new QString(""); + m_name_isSet = false; } void SWGAudioDevice::cleanup() { - - if(name != nullptr) { + if(name != nullptr) { delete name; } } SWGAudioDevice* -SWGAudioDevice::fromJson(QString &json) { +SWGAudioDevice::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGAudioDevice::fromJson(QString &json) { } void -SWGAudioDevice::fromJsonObject(QJsonObject &pJson) { +SWGAudioDevice::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&name, pJson["name"], "QString", "QString"); + } QString SWGAudioDevice::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGAudioDevice::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("name"), name, obj, QString("QString")); + QJsonObject obj; + if(name != nullptr && *name != QString("")){ + toJsonValue(QString("name"), name, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGAudioDevice::getName() { void SWGAudioDevice::setName(QString* name) { this->name = name; + this->m_name_isSet = true; } +bool +SWGAudioDevice::isSet(){ + bool isObjectUpdated = false; + do{ + if(name != nullptr && *name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevice.h b/swagger/sdrangel/code/qt5/client/SWGAudioDevice.h index e45648283..e32986d8d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevice.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevice.h @@ -12,7 +12,7 @@ /* * SWGAudioDevice.h - * + * * Audio device */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGAudioDevice: public SWGObject { public: SWGAudioDevice(); - SWGAudioDevice(QString* json); - virtual ~SWGAudioDevice(); + SWGAudioDevice(QString json); + ~SWGAudioDevice(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGAudioDevice* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGAudioDevice* fromJson(QString jsonString); QString* getName(); void setName(QString* name); + virtual bool isSet() override; + private: QString* name; + bool m_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevices.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioDevices.cpp index 40cdfc3aa..63fcf60b4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevices.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevices.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGAudioDevices::SWGAudioDevices(QString* json) { +SWGAudioDevices::SWGAudioDevices(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGAudioDevices::SWGAudioDevices() { @@ -38,33 +38,38 @@ SWGAudioDevices::~SWGAudioDevices() { void SWGAudioDevices::init() { input_volume = 0.0f; + m_input_volume_isSet = false; nb_input_devices = 0; + m_nb_input_devices_isSet = false; input_device_selected_index = 0; + m_input_device_selected_index_isSet = false; input_devices = new QList<SWGAudioDevice*>(); + m_input_devices_isSet = false; nb_output_devices = 0; + m_nb_output_devices_isSet = false; output_device_selected_index = 0; + m_output_device_selected_index_isSet = false; output_devices = new QList<SWGAudioDevice*>(); + m_output_devices_isSet = false; } void SWGAudioDevices::cleanup() { - - if(input_devices != nullptr) { - QList<SWGAudioDevice*>* arr = input_devices; - foreach(SWGAudioDevice* o, *arr) { + if(input_devices != nullptr) { + auto arr = input_devices; + for(auto o: *arr) { delete o; } delete input_devices; } - - if(output_devices != nullptr) { - QList<SWGAudioDevice*>* arr = output_devices; - foreach(SWGAudioDevice* o, *arr) { + if(output_devices != nullptr) { + auto arr = output_devices; + for(auto o: *arr) { delete o; } delete output_devices; @@ -72,7 +77,7 @@ SWGAudioDevices::cleanup() { } SWGAudioDevices* -SWGAudioDevices::fromJson(QString &json) { +SWGAudioDevices::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -81,51 +86,56 @@ SWGAudioDevices::fromJson(QString &json) { } void -SWGAudioDevices::fromJsonObject(QJsonObject &pJson) { +SWGAudioDevices::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&input_volume, pJson["inputVolume"], "float", ""); + ::SWGSDRangel::setValue(&nb_input_devices, pJson["nbInputDevices"], "qint32", ""); + ::SWGSDRangel::setValue(&input_device_selected_index, pJson["inputDeviceSelectedIndex"], "qint32", ""); - ::SWGSDRangel::setValue(&input_devices, pJson["inputDevices"], "QList", "SWGAudioDevice"); + ::SWGSDRangel::setValue(&input_devices, pJson["inputDevices"], "QList", "SWGAudioDevice"); ::SWGSDRangel::setValue(&nb_output_devices, pJson["nbOutputDevices"], "qint32", ""); + ::SWGSDRangel::setValue(&output_device_selected_index, pJson["outputDeviceSelectedIndex"], "qint32", ""); - ::SWGSDRangel::setValue(&output_devices, pJson["outputDevices"], "QList", "SWGAudioDevice"); + ::SWGSDRangel::setValue(&output_devices, pJson["outputDevices"], "QList", "SWGAudioDevice"); } QString SWGAudioDevices::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGAudioDevices::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("inputVolume", QJsonValue(input_volume)); - - obj->insert("nbInputDevices", QJsonValue(nb_input_devices)); - - obj->insert("inputDeviceSelectedIndex", QJsonValue(input_device_selected_index)); - - QJsonArray input_devicesJsonArray; - toJsonArray((QList<void*>*)input_devices, &input_devicesJsonArray, "input_devices", "SWGAudioDevice"); - obj->insert("inputDevices", input_devicesJsonArray); - - obj->insert("nbOutputDevices", QJsonValue(nb_output_devices)); - - obj->insert("outputDeviceSelectedIndex", QJsonValue(output_device_selected_index)); - - QJsonArray output_devicesJsonArray; - toJsonArray((QList<void*>*)output_devices, &output_devicesJsonArray, "output_devices", "SWGAudioDevice"); - obj->insert("outputDevices", output_devicesJsonArray); + QJsonObject obj; + if(m_input_volume_isSet){ + obj.insert("inputVolume", QJsonValue(input_volume)); + } + if(m_nb_input_devices_isSet){ + obj.insert("nbInputDevices", QJsonValue(nb_input_devices)); + } + if(m_input_device_selected_index_isSet){ + obj.insert("inputDeviceSelectedIndex", QJsonValue(input_device_selected_index)); + } + if(input_devices->size() > 0){ + toJsonArray((QList<void*>*)input_devices, obj, "inputDevices", "SWGAudioDevice"); + } + if(m_nb_output_devices_isSet){ + obj.insert("nbOutputDevices", QJsonValue(nb_output_devices)); + } + if(m_output_device_selected_index_isSet){ + obj.insert("outputDeviceSelectedIndex", QJsonValue(output_device_selected_index)); + } + if(output_devices->size() > 0){ + toJsonArray((QList<void*>*)output_devices, obj, "outputDevices", "SWGAudioDevice"); + } return obj; } @@ -137,6 +147,7 @@ SWGAudioDevices::getInputVolume() { void SWGAudioDevices::setInputVolume(float input_volume) { this->input_volume = input_volume; + this->m_input_volume_isSet = true; } qint32 @@ -146,6 +157,7 @@ SWGAudioDevices::getNbInputDevices() { void SWGAudioDevices::setNbInputDevices(qint32 nb_input_devices) { this->nb_input_devices = nb_input_devices; + this->m_nb_input_devices_isSet = true; } qint32 @@ -155,6 +167,7 @@ SWGAudioDevices::getInputDeviceSelectedIndex() { void SWGAudioDevices::setInputDeviceSelectedIndex(qint32 input_device_selected_index) { this->input_device_selected_index = input_device_selected_index; + this->m_input_device_selected_index_isSet = true; } QList<SWGAudioDevice*>* @@ -164,6 +177,7 @@ SWGAudioDevices::getInputDevices() { void SWGAudioDevices::setInputDevices(QList<SWGAudioDevice*>* input_devices) { this->input_devices = input_devices; + this->m_input_devices_isSet = true; } qint32 @@ -173,6 +187,7 @@ SWGAudioDevices::getNbOutputDevices() { void SWGAudioDevices::setNbOutputDevices(qint32 nb_output_devices) { this->nb_output_devices = nb_output_devices; + this->m_nb_output_devices_isSet = true; } qint32 @@ -182,6 +197,7 @@ SWGAudioDevices::getOutputDeviceSelectedIndex() { void SWGAudioDevices::setOutputDeviceSelectedIndex(qint32 output_device_selected_index) { this->output_device_selected_index = output_device_selected_index; + this->m_output_device_selected_index_isSet = true; } QList<SWGAudioDevice*>* @@ -191,8 +207,23 @@ SWGAudioDevices::getOutputDevices() { void SWGAudioDevices::setOutputDevices(QList<SWGAudioDevice*>* output_devices) { this->output_devices = output_devices; + this->m_output_devices_isSet = true; } +bool +SWGAudioDevices::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_input_volume_isSet){ isObjectUpdated = true; break;} + if(m_nb_input_devices_isSet){ isObjectUpdated = true; break;} + if(m_input_device_selected_index_isSet){ isObjectUpdated = true; break;} + if(input_devices->size() > 0){ isObjectUpdated = true; break;} + if(m_nb_output_devices_isSet){ isObjectUpdated = true; break;} + if(m_output_device_selected_index_isSet){ isObjectUpdated = true; break;} + if(output_devices->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevices.h b/swagger/sdrangel/code/qt5/client/SWGAudioDevices.h index 8ad0f1033..11a36abe7 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevices.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevices.h @@ -12,7 +12,7 @@ /* * SWGAudioDevices.h - * + * * List of audio devices available in the system */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGAudioDevices: public SWGObject { public: SWGAudioDevices(); - SWGAudioDevices(QString* json); - virtual ~SWGAudioDevices(); + SWGAudioDevices(QString json); + ~SWGAudioDevices(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGAudioDevices* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGAudioDevices* fromJson(QString jsonString); float getInputVolume(); void setInputVolume(float input_volume); @@ -65,14 +64,30 @@ public: void setOutputDevices(QList<SWGAudioDevice*>* output_devices); + virtual bool isSet() override; + private: float input_volume; + bool m_input_volume_isSet; + qint32 nb_input_devices; + bool m_nb_input_devices_isSet; + qint32 input_device_selected_index; + bool m_input_device_selected_index_isSet; + QList<SWGAudioDevice*>* input_devices; + bool m_input_devices_isSet; + qint32 nb_output_devices; + bool m_nb_output_devices_isSet; + qint32 output_device_selected_index; + bool m_output_device_selected_index_isSet; + QList<SWGAudioDevice*>* output_devices; + bool m_output_devices_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.cpp index c2a6428f2..d18a92514 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGAudioDevicesSelect::SWGAudioDevicesSelect(QString* json) { +SWGAudioDevicesSelect::SWGAudioDevicesSelect(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGAudioDevicesSelect::SWGAudioDevicesSelect() { @@ -38,19 +38,22 @@ SWGAudioDevicesSelect::~SWGAudioDevicesSelect() { void SWGAudioDevicesSelect::init() { input_volume = 0.0f; + m_input_volume_isSet = false; input_index = 0; + m_input_index_isSet = false; output_index = 0; + m_output_index_isSet = false; } void SWGAudioDevicesSelect::cleanup() { - + } SWGAudioDevicesSelect* -SWGAudioDevicesSelect::fromJson(QString &json) { +SWGAudioDevicesSelect::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -59,31 +62,36 @@ SWGAudioDevicesSelect::fromJson(QString &json) { } void -SWGAudioDevicesSelect::fromJsonObject(QJsonObject &pJson) { +SWGAudioDevicesSelect::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&input_volume, pJson["inputVolume"], "float", ""); + ::SWGSDRangel::setValue(&input_index, pJson["inputIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&output_index, pJson["outputIndex"], "qint32", ""); + } QString SWGAudioDevicesSelect::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGAudioDevicesSelect::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("inputVolume", QJsonValue(input_volume)); - - obj->insert("inputIndex", QJsonValue(input_index)); - - obj->insert("outputIndex", QJsonValue(output_index)); + QJsonObject obj; + if(m_input_volume_isSet){ + obj.insert("inputVolume", QJsonValue(input_volume)); + } + if(m_input_index_isSet){ + obj.insert("inputIndex", QJsonValue(input_index)); + } + if(m_output_index_isSet){ + obj.insert("outputIndex", QJsonValue(output_index)); + } return obj; } @@ -95,6 +103,7 @@ SWGAudioDevicesSelect::getInputVolume() { void SWGAudioDevicesSelect::setInputVolume(float input_volume) { this->input_volume = input_volume; + this->m_input_volume_isSet = true; } qint32 @@ -104,6 +113,7 @@ SWGAudioDevicesSelect::getInputIndex() { void SWGAudioDevicesSelect::setInputIndex(qint32 input_index) { this->input_index = input_index; + this->m_input_index_isSet = true; } qint32 @@ -113,8 +123,19 @@ SWGAudioDevicesSelect::getOutputIndex() { void SWGAudioDevicesSelect::setOutputIndex(qint32 output_index) { this->output_index = output_index; + this->m_output_index_isSet = true; } +bool +SWGAudioDevicesSelect::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_input_volume_isSet){ isObjectUpdated = true; break;} + if(m_input_index_isSet){ isObjectUpdated = true; break;} + if(m_output_index_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.h b/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.h index b87a3b49d..4ab3b4d46 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioDevicesSelect.h @@ -12,7 +12,7 @@ /* * SWGAudioDevicesSelect.h - * + * * Audio devices selected */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGAudioDevicesSelect: public SWGObject { public: SWGAudioDevicesSelect(); - SWGAudioDevicesSelect(QString* json); - virtual ~SWGAudioDevicesSelect(); + SWGAudioDevicesSelect(QString json); + ~SWGAudioDevicesSelect(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGAudioDevicesSelect* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGAudioDevicesSelect* fromJson(QString jsonString); float getInputVolume(); void setInputVolume(float input_volume); @@ -51,10 +50,18 @@ public: void setOutputIndex(qint32 output_index); + virtual bool isSet() override; + private: float input_volume; + bool m_input_volume_isSet; + qint32 input_index; + bool m_input_index_isSet; + qint32 output_index; + bool m_output_index_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.cpp index 997f44618..beef0fff7 100644 --- a/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGCWKeyerSettings::SWGCWKeyerSettings(QString* json) { +SWGCWKeyerSettings::SWGCWKeyerSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGCWKeyerSettings::SWGCWKeyerSettings() { @@ -38,26 +38,30 @@ SWGCWKeyerSettings::~SWGCWKeyerSettings() { void SWGCWKeyerSettings::init() { sample_rate = 0; + m_sample_rate_isSet = false; wpm = 0; + m_wpm_isSet = false; mode = 0; + m_mode_isSet = false; text = new QString(""); + m_text_isSet = false; loop = 0; + m_loop_isSet = false; } void SWGCWKeyerSettings::cleanup() { - - if(text != nullptr) { + if(text != nullptr) { delete text; } } SWGCWKeyerSettings* -SWGCWKeyerSettings::fromJson(QString &json) { +SWGCWKeyerSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -66,37 +70,46 @@ SWGCWKeyerSettings::fromJson(QString &json) { } void -SWGCWKeyerSettings::fromJsonObject(QJsonObject &pJson) { +SWGCWKeyerSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&sample_rate, pJson["sampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&wpm, pJson["wpm"], "qint32", ""); + ::SWGSDRangel::setValue(&mode, pJson["mode"], "qint32", ""); + ::SWGSDRangel::setValue(&text, pJson["text"], "QString", "QString"); + ::SWGSDRangel::setValue(&loop, pJson["loop"], "qint32", ""); + } QString SWGCWKeyerSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGCWKeyerSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("sampleRate", QJsonValue(sample_rate)); - - obj->insert("wpm", QJsonValue(wpm)); - - obj->insert("mode", QJsonValue(mode)); - - toJsonValue(QString("text"), text, obj, QString("QString")); - - obj->insert("loop", QJsonValue(loop)); + QJsonObject obj; + if(m_sample_rate_isSet){ + obj.insert("sampleRate", QJsonValue(sample_rate)); + } + if(m_wpm_isSet){ + obj.insert("wpm", QJsonValue(wpm)); + } + if(m_mode_isSet){ + obj.insert("mode", QJsonValue(mode)); + } + if(text != nullptr && *text != QString("")){ + toJsonValue(QString("text"), text, obj, QString("QString")); + } + if(m_loop_isSet){ + obj.insert("loop", QJsonValue(loop)); + } return obj; } @@ -108,6 +121,7 @@ SWGCWKeyerSettings::getSampleRate() { void SWGCWKeyerSettings::setSampleRate(qint32 sample_rate) { this->sample_rate = sample_rate; + this->m_sample_rate_isSet = true; } qint32 @@ -117,6 +131,7 @@ SWGCWKeyerSettings::getWpm() { void SWGCWKeyerSettings::setWpm(qint32 wpm) { this->wpm = wpm; + this->m_wpm_isSet = true; } qint32 @@ -126,6 +141,7 @@ SWGCWKeyerSettings::getMode() { void SWGCWKeyerSettings::setMode(qint32 mode) { this->mode = mode; + this->m_mode_isSet = true; } QString* @@ -135,6 +151,7 @@ SWGCWKeyerSettings::getText() { void SWGCWKeyerSettings::setText(QString* text) { this->text = text; + this->m_text_isSet = true; } qint32 @@ -144,8 +161,21 @@ SWGCWKeyerSettings::getLoop() { void SWGCWKeyerSettings::setLoop(qint32 loop) { this->loop = loop; + this->m_loop_isSet = true; } +bool +SWGCWKeyerSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_wpm_isSet){ isObjectUpdated = true; break;} + if(m_mode_isSet){ isObjectUpdated = true; break;} + if(text != nullptr && *text != QString("")){ isObjectUpdated = true; break;} + if(m_loop_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.h b/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.h index 6101d3771..ef1a8bcd9 100644 --- a/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGCWKeyerSettings.h @@ -12,7 +12,7 @@ /* * SWGCWKeyerSettings.h - * + * * */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGCWKeyerSettings: public SWGObject { public: SWGCWKeyerSettings(); - SWGCWKeyerSettings(QString* json); - virtual ~SWGCWKeyerSettings(); + SWGCWKeyerSettings(QString json); + ~SWGCWKeyerSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGCWKeyerSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGCWKeyerSettings* fromJson(QString jsonString); qint32 getSampleRate(); void setSampleRate(qint32 sample_rate); @@ -58,12 +57,24 @@ public: void setLoop(qint32 loop); + virtual bool isSet() override; + private: qint32 sample_rate; + bool m_sample_rate_isSet; + qint32 wpm; + bool m_wpm_isSet; + qint32 mode; + bool m_mode_isSet; + QString* text; + bool m_text_isSet; + qint32 loop; + bool m_loop_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannel.cpp b/swagger/sdrangel/code/qt5/client/SWGChannel.cpp index 7ba528e36..94207025e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannel.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGChannel.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGChannel::SWGChannel(QString* json) { +SWGChannel::SWGChannel(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGChannel::SWGChannel() { @@ -38,29 +38,32 @@ SWGChannel::~SWGChannel() { void SWGChannel::init() { index = 0; + m_index_isSet = false; id = new QString(""); + m_id_isSet = false; uid = 0L; + m_uid_isSet = false; title = new QString(""); + m_title_isSet = false; delta_frequency = 0; + m_delta_frequency_isSet = false; } void SWGChannel::cleanup() { - - if(id != nullptr) { + if(id != nullptr) { delete id; } - - if(title != nullptr) { + if(title != nullptr) { delete title; } } SWGChannel* -SWGChannel::fromJson(QString &json) { +SWGChannel::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -69,37 +72,46 @@ SWGChannel::fromJson(QString &json) { } void -SWGChannel::fromJsonObject(QJsonObject &pJson) { +SWGChannel::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&index, pJson["index"], "qint32", ""); + ::SWGSDRangel::setValue(&id, pJson["id"], "QString", "QString"); + ::SWGSDRangel::setValue(&uid, pJson["uid"], "qint64", ""); + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&delta_frequency, pJson["deltaFrequency"], "qint32", ""); + } QString SWGChannel::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGChannel::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("index", QJsonValue(index)); - - toJsonValue(QString("id"), id, obj, QString("QString")); - - obj->insert("uid", QJsonValue(uid)); - - toJsonValue(QString("title"), title, obj, QString("QString")); - - obj->insert("deltaFrequency", QJsonValue(delta_frequency)); + QJsonObject obj; + if(m_index_isSet){ + obj.insert("index", QJsonValue(index)); + } + if(id != nullptr && *id != QString("")){ + toJsonValue(QString("id"), id, obj, QString("QString")); + } + if(m_uid_isSet){ + obj.insert("uid", QJsonValue(uid)); + } + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } + if(m_delta_frequency_isSet){ + obj.insert("deltaFrequency", QJsonValue(delta_frequency)); + } return obj; } @@ -111,6 +123,7 @@ SWGChannel::getIndex() { void SWGChannel::setIndex(qint32 index) { this->index = index; + this->m_index_isSet = true; } QString* @@ -120,6 +133,7 @@ SWGChannel::getId() { void SWGChannel::setId(QString* id) { this->id = id; + this->m_id_isSet = true; } qint64 @@ -129,6 +143,7 @@ SWGChannel::getUid() { void SWGChannel::setUid(qint64 uid) { this->uid = uid; + this->m_uid_isSet = true; } QString* @@ -138,6 +153,7 @@ SWGChannel::getTitle() { void SWGChannel::setTitle(QString* title) { this->title = title; + this->m_title_isSet = true; } qint32 @@ -147,8 +163,21 @@ SWGChannel::getDeltaFrequency() { void SWGChannel::setDeltaFrequency(qint32 delta_frequency) { this->delta_frequency = delta_frequency; + this->m_delta_frequency_isSet = true; } +bool +SWGChannel::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_index_isSet){ isObjectUpdated = true; break;} + if(id != nullptr && *id != QString("")){ isObjectUpdated = true; break;} + if(m_uid_isSet){ isObjectUpdated = true; break;} + if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;} + if(m_delta_frequency_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannel.h b/swagger/sdrangel/code/qt5/client/SWGChannel.h index fd1b9c9ab..b42701e99 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannel.h +++ b/swagger/sdrangel/code/qt5/client/SWGChannel.h @@ -12,7 +12,7 @@ /* * SWGChannel.h - * + * * Channel summarized information */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGChannel: public SWGObject { public: SWGChannel(); - SWGChannel(QString* json); - virtual ~SWGChannel(); + SWGChannel(QString json); + ~SWGChannel(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGChannel* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGChannel* fromJson(QString jsonString); qint32 getIndex(); void setIndex(qint32 index); @@ -58,12 +57,24 @@ public: void setDeltaFrequency(qint32 delta_frequency); + virtual bool isSet() override; + private: qint32 index; + bool m_index_isSet; + QString* id; + bool m_id_isSet; + qint64 uid; + bool m_uid_isSet; + QString* title; + bool m_title_isSet; + qint32 delta_frequency; + bool m_delta_frequency_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannelListItem.cpp b/swagger/sdrangel/code/qt5/client/SWGChannelListItem.cpp index c2fdc567e..9c1d5e303 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannelListItem.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGChannelListItem.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGChannelListItem::SWGChannelListItem(QString* json) { +SWGChannelListItem::SWGChannelListItem(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGChannelListItem::SWGChannelListItem() { @@ -38,37 +38,39 @@ SWGChannelListItem::~SWGChannelListItem() { void SWGChannelListItem::init() { name = new QString(""); + m_name_isSet = false; id_uri = new QString(""); + m_id_uri_isSet = false; id = new QString(""); + m_id_isSet = false; tx = 0; + m_tx_isSet = false; version = new QString(""); + m_version_isSet = false; index = 0; + m_index_isSet = false; } void SWGChannelListItem::cleanup() { - - if(name != nullptr) { + if(name != nullptr) { delete name; } - - if(id_uri != nullptr) { + if(id_uri != nullptr) { delete id_uri; } - - if(id != nullptr) { + if(id != nullptr) { delete id; } - - if(version != nullptr) { + if(version != nullptr) { delete version; } } SWGChannelListItem* -SWGChannelListItem::fromJson(QString &json) { +SWGChannelListItem::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -77,40 +79,51 @@ SWGChannelListItem::fromJson(QString &json) { } void -SWGChannelListItem::fromJsonObject(QJsonObject &pJson) { +SWGChannelListItem::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&name, pJson["name"], "QString", "QString"); + ::SWGSDRangel::setValue(&id_uri, pJson["idURI"], "QString", "QString"); + ::SWGSDRangel::setValue(&id, pJson["id"], "QString", "QString"); + ::SWGSDRangel::setValue(&tx, pJson["tx"], "qint32", ""); + ::SWGSDRangel::setValue(&version, pJson["version"], "QString", "QString"); + ::SWGSDRangel::setValue(&index, pJson["index"], "qint32", ""); + } QString SWGChannelListItem::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGChannelListItem::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("name"), name, obj, QString("QString")); - - toJsonValue(QString("idURI"), id_uri, obj, QString("QString")); - - toJsonValue(QString("id"), id, obj, QString("QString")); - - obj->insert("tx", QJsonValue(tx)); - - toJsonValue(QString("version"), version, obj, QString("QString")); - - obj->insert("index", QJsonValue(index)); + QJsonObject obj; + if(name != nullptr && *name != QString("")){ + toJsonValue(QString("name"), name, obj, QString("QString")); + } + if(id_uri != nullptr && *id_uri != QString("")){ + toJsonValue(QString("idURI"), id_uri, obj, QString("QString")); + } + if(id != nullptr && *id != QString("")){ + toJsonValue(QString("id"), id, obj, QString("QString")); + } + if(m_tx_isSet){ + obj.insert("tx", QJsonValue(tx)); + } + if(version != nullptr && *version != QString("")){ + toJsonValue(QString("version"), version, obj, QString("QString")); + } + if(m_index_isSet){ + obj.insert("index", QJsonValue(index)); + } return obj; } @@ -122,6 +135,7 @@ SWGChannelListItem::getName() { void SWGChannelListItem::setName(QString* name) { this->name = name; + this->m_name_isSet = true; } QString* @@ -131,6 +145,7 @@ SWGChannelListItem::getIdUri() { void SWGChannelListItem::setIdUri(QString* id_uri) { this->id_uri = id_uri; + this->m_id_uri_isSet = true; } QString* @@ -140,6 +155,7 @@ SWGChannelListItem::getId() { void SWGChannelListItem::setId(QString* id) { this->id = id; + this->m_id_isSet = true; } qint32 @@ -149,6 +165,7 @@ SWGChannelListItem::getTx() { void SWGChannelListItem::setTx(qint32 tx) { this->tx = tx; + this->m_tx_isSet = true; } QString* @@ -158,6 +175,7 @@ SWGChannelListItem::getVersion() { void SWGChannelListItem::setVersion(QString* version) { this->version = version; + this->m_version_isSet = true; } qint32 @@ -167,8 +185,22 @@ SWGChannelListItem::getIndex() { void SWGChannelListItem::setIndex(qint32 index) { this->index = index; + this->m_index_isSet = true; } +bool +SWGChannelListItem::isSet(){ + bool isObjectUpdated = false; + do{ + if(name != nullptr && *name != QString("")){ isObjectUpdated = true; break;} + if(id_uri != nullptr && *id_uri != QString("")){ isObjectUpdated = true; break;} + if(id != nullptr && *id != QString("")){ isObjectUpdated = true; break;} + if(m_tx_isSet){ isObjectUpdated = true; break;} + if(version != nullptr && *version != QString("")){ isObjectUpdated = true; break;} + if(m_index_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannelListItem.h b/swagger/sdrangel/code/qt5/client/SWGChannelListItem.h index 7f9f74d1d..57ef4a1dd 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannelListItem.h +++ b/swagger/sdrangel/code/qt5/client/SWGChannelListItem.h @@ -12,7 +12,7 @@ /* * SWGChannelListItem.h - * + * * Summarized information about channel plugin */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGChannelListItem: public SWGObject { public: SWGChannelListItem(); - SWGChannelListItem(QString* json); - virtual ~SWGChannelListItem(); + SWGChannelListItem(QString json); + ~SWGChannelListItem(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGChannelListItem* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGChannelListItem* fromJson(QString jsonString); QString* getName(); void setName(QString* name); @@ -61,13 +60,27 @@ public: void setIndex(qint32 index); + virtual bool isSet() override; + private: QString* name; + bool m_name_isSet; + QString* id_uri; + bool m_id_uri_isSet; + QString* id; + bool m_id_isSet; + qint32 tx; + bool m_tx_isSet; + QString* version; + bool m_version_isSet; + qint32 index; + bool m_index_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannelSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGChannelSettings.cpp index d597d2ae6..2f610f29f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannelSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGChannelSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGChannelSettings::SWGChannelSettings(QString* json) { +SWGChannelSettings::SWGChannelSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGChannelSettings::SWGChannelSettings() { @@ -38,30 +38,31 @@ SWGChannelSettings::~SWGChannelSettings() { void SWGChannelSettings::init() { channel_type = new QString(""); + m_channel_type_isSet = false; tx = 0; + m_tx_isSet = false; nfm_demod_settings = new SWGNFMDemodSettings(); + m_nfm_demod_settings_isSet = false; nfm_mod_settings = new SWGNFMModSettings(); + m_nfm_mod_settings_isSet = false; } void SWGChannelSettings::cleanup() { - - if(channel_type != nullptr) { + if(channel_type != nullptr) { delete channel_type; } - - if(nfm_demod_settings != nullptr) { + if(nfm_demod_settings != nullptr) { delete nfm_demod_settings; } - - if(nfm_mod_settings != nullptr) { + if(nfm_mod_settings != nullptr) { delete nfm_mod_settings; } } SWGChannelSettings* -SWGChannelSettings::fromJson(QString &json) { +SWGChannelSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -70,34 +71,41 @@ SWGChannelSettings::fromJson(QString &json) { } void -SWGChannelSettings::fromJsonObject(QJsonObject &pJson) { +SWGChannelSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&channel_type, pJson["channelType"], "QString", "QString"); + ::SWGSDRangel::setValue(&tx, pJson["tx"], "qint32", ""); + ::SWGSDRangel::setValue(&nfm_demod_settings, pJson["NFMDemodSettings"], "SWGNFMDemodSettings", "SWGNFMDemodSettings"); + ::SWGSDRangel::setValue(&nfm_mod_settings, pJson["NFMModSettings"], "SWGNFMModSettings", "SWGNFMModSettings"); + } QString SWGChannelSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGChannelSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("channelType"), channel_type, obj, QString("QString")); - - obj->insert("tx", QJsonValue(tx)); - - toJsonValue(QString("NFMDemodSettings"), nfm_demod_settings, obj, QString("SWGNFMDemodSettings")); - - toJsonValue(QString("NFMModSettings"), nfm_mod_settings, obj, QString("SWGNFMModSettings")); + QJsonObject obj; + if(channel_type != nullptr && *channel_type != QString("")){ + toJsonValue(QString("channelType"), channel_type, obj, QString("QString")); + } + if(m_tx_isSet){ + obj.insert("tx", QJsonValue(tx)); + } + if((nfm_demod_settings != nullptr) && (nfm_demod_settings->isSet())){ + toJsonValue(QString("NFMDemodSettings"), nfm_demod_settings, obj, QString("SWGNFMDemodSettings")); + } + if((nfm_mod_settings != nullptr) && (nfm_mod_settings->isSet())){ + toJsonValue(QString("NFMModSettings"), nfm_mod_settings, obj, QString("SWGNFMModSettings")); + } return obj; } @@ -109,6 +117,7 @@ SWGChannelSettings::getChannelType() { void SWGChannelSettings::setChannelType(QString* channel_type) { this->channel_type = channel_type; + this->m_channel_type_isSet = true; } qint32 @@ -118,6 +127,7 @@ SWGChannelSettings::getTx() { void SWGChannelSettings::setTx(qint32 tx) { this->tx = tx; + this->m_tx_isSet = true; } SWGNFMDemodSettings* @@ -127,6 +137,7 @@ SWGChannelSettings::getNfmDemodSettings() { void SWGChannelSettings::setNfmDemodSettings(SWGNFMDemodSettings* nfm_demod_settings) { this->nfm_demod_settings = nfm_demod_settings; + this->m_nfm_demod_settings_isSet = true; } SWGNFMModSettings* @@ -136,8 +147,20 @@ SWGChannelSettings::getNfmModSettings() { void SWGChannelSettings::setNfmModSettings(SWGNFMModSettings* nfm_mod_settings) { this->nfm_mod_settings = nfm_mod_settings; + this->m_nfm_mod_settings_isSet = true; } +bool +SWGChannelSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(channel_type != nullptr && *channel_type != QString("")){ isObjectUpdated = true; break;} + if(m_tx_isSet){ isObjectUpdated = true; break;} + if(nfm_demod_settings != nullptr && nfm_demod_settings->isSet()){ isObjectUpdated = true; break;} + if(nfm_mod_settings != nullptr && nfm_mod_settings->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGChannelSettings.h b/swagger/sdrangel/code/qt5/client/SWGChannelSettings.h index 2547f26fb..e9d123602 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChannelSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGChannelSettings.h @@ -12,7 +12,7 @@ /* * SWGChannelSettings.h - * + * * Base channel settings */ @@ -28,21 +28,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGChannelSettings: public SWGObject { public: SWGChannelSettings(); - SWGChannelSettings(QString* json); - virtual ~SWGChannelSettings(); + SWGChannelSettings(QString json); + ~SWGChannelSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGChannelSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGChannelSettings* fromJson(QString jsonString); QString* getChannelType(); void setChannelType(QString* channel_type); @@ -57,11 +56,21 @@ public: void setNfmModSettings(SWGNFMModSettings* nfm_mod_settings); + virtual bool isSet() override; + private: QString* channel_type; + bool m_channel_type_isSet; + qint32 tx; + bool m_tx_isSet; + SWGNFMDemodSettings* nfm_demod_settings; + bool m_nfm_demod_settings_isSet; + SWGNFMModSettings* nfm_mod_settings; + bool m_nfm_mod_settings_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.cpp b/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.cpp index ce6a6c015..95ce6219f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDVSeralDevices::SWGDVSeralDevices(QString* json) { +SWGDVSeralDevices::SWGDVSeralDevices(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDVSeralDevices::SWGDVSeralDevices() { @@ -38,16 +38,17 @@ SWGDVSeralDevices::~SWGDVSeralDevices() { void SWGDVSeralDevices::init() { nb_devices = 0; + m_nb_devices_isSet = false; dv_serial_devices = new QList<SWGDVSerialDevice*>(); + m_dv_serial_devices_isSet = false; } void SWGDVSeralDevices::cleanup() { - - if(dv_serial_devices != nullptr) { - QList<SWGDVSerialDevice*>* arr = dv_serial_devices; - foreach(SWGDVSerialDevice* o, *arr) { + if(dv_serial_devices != nullptr) { + auto arr = dv_serial_devices; + for(auto o: *arr) { delete o; } delete dv_serial_devices; @@ -55,7 +56,7 @@ SWGDVSeralDevices::cleanup() { } SWGDVSeralDevices* -SWGDVSeralDevices::fromJson(QString &json) { +SWGDVSeralDevices::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -64,32 +65,31 @@ SWGDVSeralDevices::fromJson(QString &json) { } void -SWGDVSeralDevices::fromJsonObject(QJsonObject &pJson) { +SWGDVSeralDevices::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&nb_devices, pJson["nbDevices"], "qint32", ""); - ::SWGSDRangel::setValue(&dv_serial_devices, pJson["dvSerialDevices"], "QList", "SWGDVSerialDevice"); + ::SWGSDRangel::setValue(&dv_serial_devices, pJson["dvSerialDevices"], "QList", "SWGDVSerialDevice"); } QString SWGDVSeralDevices::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDVSeralDevices::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("nbDevices", QJsonValue(nb_devices)); - - QJsonArray dv_serial_devicesJsonArray; - toJsonArray((QList<void*>*)dv_serial_devices, &dv_serial_devicesJsonArray, "dv_serial_devices", "SWGDVSerialDevice"); - obj->insert("dvSerialDevices", dv_serial_devicesJsonArray); + QJsonObject obj; + if(m_nb_devices_isSet){ + obj.insert("nbDevices", QJsonValue(nb_devices)); + } + if(dv_serial_devices->size() > 0){ + toJsonArray((QList<void*>*)dv_serial_devices, obj, "dvSerialDevices", "SWGDVSerialDevice"); + } return obj; } @@ -101,6 +101,7 @@ SWGDVSeralDevices::getNbDevices() { void SWGDVSeralDevices::setNbDevices(qint32 nb_devices) { this->nb_devices = nb_devices; + this->m_nb_devices_isSet = true; } QList<SWGDVSerialDevice*>* @@ -110,8 +111,18 @@ SWGDVSeralDevices::getDvSerialDevices() { void SWGDVSeralDevices::setDvSerialDevices(QList<SWGDVSerialDevice*>* dv_serial_devices) { this->dv_serial_devices = dv_serial_devices; + this->m_dv_serial_devices_isSet = true; } +bool +SWGDVSeralDevices::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_nb_devices_isSet){ isObjectUpdated = true; break;} + if(dv_serial_devices->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.h b/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.h index 2e93b7a6a..f6803cbcb 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.h +++ b/swagger/sdrangel/code/qt5/client/SWGDVSeralDevices.h @@ -12,7 +12,7 @@ /* * SWGDVSeralDevices.h - * + * * List of DV serial devices available in the system */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDVSeralDevices: public SWGObject { public: SWGDVSeralDevices(); - SWGDVSeralDevices(QString* json); - virtual ~SWGDVSeralDevices(); + SWGDVSeralDevices(QString json); + ~SWGDVSeralDevices(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDVSeralDevices* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDVSeralDevices* fromJson(QString jsonString); qint32 getNbDevices(); void setNbDevices(qint32 nb_devices); @@ -50,9 +49,15 @@ public: void setDvSerialDevices(QList<SWGDVSerialDevice*>* dv_serial_devices); + virtual bool isSet() override; + private: qint32 nb_devices; + bool m_nb_devices_isSet; + QList<SWGDVSerialDevice*>* dv_serial_devices; + bool m_dv_serial_devices_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.cpp b/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.cpp index f67271c4b..7b4fc9fef 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDVSerialDevice::SWGDVSerialDevice(QString* json) { +SWGDVSerialDevice::SWGDVSerialDevice(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDVSerialDevice::SWGDVSerialDevice() { @@ -38,18 +38,18 @@ SWGDVSerialDevice::~SWGDVSerialDevice() { void SWGDVSerialDevice::init() { device_name = new QString(""); + m_device_name_isSet = false; } void SWGDVSerialDevice::cleanup() { - - if(device_name != nullptr) { + if(device_name != nullptr) { delete device_name; } } SWGDVSerialDevice* -SWGDVSerialDevice::fromJson(QString &json) { +SWGDVSerialDevice::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGDVSerialDevice::fromJson(QString &json) { } void -SWGDVSerialDevice::fromJsonObject(QJsonObject &pJson) { +SWGDVSerialDevice::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&device_name, pJson["deviceName"], "QString", "QString"); + } QString SWGDVSerialDevice::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDVSerialDevice::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("deviceName"), device_name, obj, QString("QString")); + QJsonObject obj; + if(device_name != nullptr && *device_name != QString("")){ + toJsonValue(QString("deviceName"), device_name, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGDVSerialDevice::getDeviceName() { void SWGDVSerialDevice::setDeviceName(QString* device_name) { this->device_name = device_name; + this->m_device_name_isSet = true; } +bool +SWGDVSerialDevice::isSet(){ + bool isObjectUpdated = false; + do{ + if(device_name != nullptr && *device_name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.h b/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.h index 0287dd309..a1c1b4968 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.h +++ b/swagger/sdrangel/code/qt5/client/SWGDVSerialDevice.h @@ -12,7 +12,7 @@ /* * SWGDVSerialDevice.h - * + * * DV serial device details */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDVSerialDevice: public SWGObject { public: SWGDVSerialDevice(); - SWGDVSerialDevice(QString* json); - virtual ~SWGDVSerialDevice(); + SWGDVSerialDevice(QString json); + ~SWGDVSerialDevice(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDVSerialDevice* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDVSerialDevice* fromJson(QString jsonString); QString* getDeviceName(); void setDeviceName(QString* device_name); + virtual bool isSet() override; + private: QString* device_name; + bool m_device_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.cpp index 77a653851..b5230e62e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDeviceListItem::SWGDeviceListItem(QString* json) { +SWGDeviceListItem::SWGDeviceListItem(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDeviceListItem::SWGDeviceListItem() { @@ -38,28 +38,34 @@ SWGDeviceListItem::~SWGDeviceListItem() { void SWGDeviceListItem::init() { displayed_name = new QString(""); + m_displayed_name_isSet = false; hw_type = new QString(""); + m_hw_type_isSet = false; serial = new QString(""); + m_serial_isSet = false; sequence = 0; + m_sequence_isSet = false; tx = 0; + m_tx_isSet = false; nb_streams = 0; + m_nb_streams_isSet = false; stream_index = 0; + m_stream_index_isSet = false; device_set_index = 0; + m_device_set_index_isSet = false; index = 0; + m_index_isSet = false; } void SWGDeviceListItem::cleanup() { - - if(displayed_name != nullptr) { + if(displayed_name != nullptr) { delete displayed_name; } - - if(hw_type != nullptr) { + if(hw_type != nullptr) { delete hw_type; } - - if(serial != nullptr) { + if(serial != nullptr) { delete serial; } @@ -71,7 +77,7 @@ SWGDeviceListItem::cleanup() { } SWGDeviceListItem* -SWGDeviceListItem::fromJson(QString &json) { +SWGDeviceListItem::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -80,49 +86,66 @@ SWGDeviceListItem::fromJson(QString &json) { } void -SWGDeviceListItem::fromJsonObject(QJsonObject &pJson) { +SWGDeviceListItem::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&displayed_name, pJson["displayedName"], "QString", "QString"); + ::SWGSDRangel::setValue(&hw_type, pJson["hwType"], "QString", "QString"); + ::SWGSDRangel::setValue(&serial, pJson["serial"], "QString", "QString"); + ::SWGSDRangel::setValue(&sequence, pJson["sequence"], "qint32", ""); + ::SWGSDRangel::setValue(&tx, pJson["tx"], "qint32", ""); + ::SWGSDRangel::setValue(&nb_streams, pJson["nbStreams"], "qint32", ""); + ::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&device_set_index, pJson["deviceSetIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&index, pJson["index"], "qint32", ""); + } QString SWGDeviceListItem::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDeviceListItem::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("displayedName"), displayed_name, obj, QString("QString")); - - toJsonValue(QString("hwType"), hw_type, obj, QString("QString")); - - toJsonValue(QString("serial"), serial, obj, QString("QString")); - - obj->insert("sequence", QJsonValue(sequence)); - - obj->insert("tx", QJsonValue(tx)); - - obj->insert("nbStreams", QJsonValue(nb_streams)); - - obj->insert("streamIndex", QJsonValue(stream_index)); - - obj->insert("deviceSetIndex", QJsonValue(device_set_index)); - - obj->insert("index", QJsonValue(index)); + QJsonObject obj; + if(displayed_name != nullptr && *displayed_name != QString("")){ + toJsonValue(QString("displayedName"), displayed_name, obj, QString("QString")); + } + if(hw_type != nullptr && *hw_type != QString("")){ + toJsonValue(QString("hwType"), hw_type, obj, QString("QString")); + } + if(serial != nullptr && *serial != QString("")){ + toJsonValue(QString("serial"), serial, obj, QString("QString")); + } + if(m_sequence_isSet){ + obj.insert("sequence", QJsonValue(sequence)); + } + if(m_tx_isSet){ + obj.insert("tx", QJsonValue(tx)); + } + if(m_nb_streams_isSet){ + obj.insert("nbStreams", QJsonValue(nb_streams)); + } + if(m_stream_index_isSet){ + obj.insert("streamIndex", QJsonValue(stream_index)); + } + if(m_device_set_index_isSet){ + obj.insert("deviceSetIndex", QJsonValue(device_set_index)); + } + if(m_index_isSet){ + obj.insert("index", QJsonValue(index)); + } return obj; } @@ -134,6 +157,7 @@ SWGDeviceListItem::getDisplayedName() { void SWGDeviceListItem::setDisplayedName(QString* displayed_name) { this->displayed_name = displayed_name; + this->m_displayed_name_isSet = true; } QString* @@ -143,6 +167,7 @@ SWGDeviceListItem::getHwType() { void SWGDeviceListItem::setHwType(QString* hw_type) { this->hw_type = hw_type; + this->m_hw_type_isSet = true; } QString* @@ -152,6 +177,7 @@ SWGDeviceListItem::getSerial() { void SWGDeviceListItem::setSerial(QString* serial) { this->serial = serial; + this->m_serial_isSet = true; } qint32 @@ -161,6 +187,7 @@ SWGDeviceListItem::getSequence() { void SWGDeviceListItem::setSequence(qint32 sequence) { this->sequence = sequence; + this->m_sequence_isSet = true; } qint32 @@ -170,6 +197,7 @@ SWGDeviceListItem::getTx() { void SWGDeviceListItem::setTx(qint32 tx) { this->tx = tx; + this->m_tx_isSet = true; } qint32 @@ -179,6 +207,7 @@ SWGDeviceListItem::getNbStreams() { void SWGDeviceListItem::setNbStreams(qint32 nb_streams) { this->nb_streams = nb_streams; + this->m_nb_streams_isSet = true; } qint32 @@ -188,6 +217,7 @@ SWGDeviceListItem::getStreamIndex() { void SWGDeviceListItem::setStreamIndex(qint32 stream_index) { this->stream_index = stream_index; + this->m_stream_index_isSet = true; } qint32 @@ -197,6 +227,7 @@ SWGDeviceListItem::getDeviceSetIndex() { void SWGDeviceListItem::setDeviceSetIndex(qint32 device_set_index) { this->device_set_index = device_set_index; + this->m_device_set_index_isSet = true; } qint32 @@ -206,8 +237,25 @@ SWGDeviceListItem::getIndex() { void SWGDeviceListItem::setIndex(qint32 index) { this->index = index; + this->m_index_isSet = true; } +bool +SWGDeviceListItem::isSet(){ + bool isObjectUpdated = false; + do{ + if(displayed_name != nullptr && *displayed_name != QString("")){ isObjectUpdated = true; break;} + if(hw_type != nullptr && *hw_type != QString("")){ isObjectUpdated = true; break;} + if(serial != nullptr && *serial != QString("")){ isObjectUpdated = true; break;} + if(m_sequence_isSet){ isObjectUpdated = true; break;} + if(m_tx_isSet){ isObjectUpdated = true; break;} + if(m_nb_streams_isSet){ isObjectUpdated = true; break;} + if(m_stream_index_isSet){ isObjectUpdated = true; break;} + if(m_device_set_index_isSet){ isObjectUpdated = true; break;} + if(m_index_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.h b/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.h index 140f67e93..cd8703f05 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceListItem.h @@ -12,7 +12,7 @@ /* * SWGDeviceListItem.h - * + * * Summarized information about attached hardware device */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDeviceListItem: public SWGObject { public: SWGDeviceListItem(); - SWGDeviceListItem(QString* json); - virtual ~SWGDeviceListItem(); + SWGDeviceListItem(QString json); + ~SWGDeviceListItem(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDeviceListItem* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDeviceListItem* fromJson(QString jsonString); QString* getDisplayedName(); void setDisplayedName(QString* displayed_name); @@ -70,16 +69,36 @@ public: void setIndex(qint32 index); + virtual bool isSet() override; + private: QString* displayed_name; + bool m_displayed_name_isSet; + QString* hw_type; + bool m_hw_type_isSet; + QString* serial; + bool m_serial_isSet; + qint32 sequence; + bool m_sequence_isSet; + qint32 tx; + bool m_tx_isSet; + qint32 nb_streams; + bool m_nb_streams_isSet; + qint32 stream_index; + bool m_stream_index_isSet; + qint32 device_set_index; + bool m_device_set_index_isSet; + qint32 index; + bool m_index_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSet.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceSet.cpp index 946d5a4d4..c0a44f069 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSet.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSet.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDeviceSet::SWGDeviceSet(QString* json) { +SWGDeviceSet::SWGDeviceSet(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDeviceSet::SWGDeviceSet() { @@ -38,21 +38,22 @@ SWGDeviceSet::~SWGDeviceSet() { void SWGDeviceSet::init() { sampling_device = new SWGSamplingDevice(); + m_sampling_device_isSet = false; channelcount = 0; + m_channelcount_isSet = false; channels = new QList<SWGChannel*>(); + m_channels_isSet = false; } void SWGDeviceSet::cleanup() { - - if(sampling_device != nullptr) { + if(sampling_device != nullptr) { delete sampling_device; } - - if(channels != nullptr) { - QList<SWGChannel*>* arr = channels; - foreach(SWGChannel* o, *arr) { + if(channels != nullptr) { + auto arr = channels; + for(auto o: *arr) { delete o; } delete channels; @@ -60,7 +61,7 @@ SWGDeviceSet::cleanup() { } SWGDeviceSet* -SWGDeviceSet::fromJson(QString &json) { +SWGDeviceSet::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -69,35 +70,36 @@ SWGDeviceSet::fromJson(QString &json) { } void -SWGDeviceSet::fromJsonObject(QJsonObject &pJson) { +SWGDeviceSet::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&sampling_device, pJson["samplingDevice"], "SWGSamplingDevice", "SWGSamplingDevice"); + ::SWGSDRangel::setValue(&channelcount, pJson["channelcount"], "qint32", ""); - ::SWGSDRangel::setValue(&channels, pJson["channels"], "QList", "SWGChannel"); + ::SWGSDRangel::setValue(&channels, pJson["channels"], "QList", "SWGChannel"); } QString SWGDeviceSet::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDeviceSet::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("samplingDevice"), sampling_device, obj, QString("SWGSamplingDevice")); - - obj->insert("channelcount", QJsonValue(channelcount)); - - QJsonArray channelsJsonArray; - toJsonArray((QList<void*>*)channels, &channelsJsonArray, "channels", "SWGChannel"); - obj->insert("channels", channelsJsonArray); + QJsonObject obj; + if((sampling_device != nullptr) && (sampling_device->isSet())){ + toJsonValue(QString("samplingDevice"), sampling_device, obj, QString("SWGSamplingDevice")); + } + if(m_channelcount_isSet){ + obj.insert("channelcount", QJsonValue(channelcount)); + } + if(channels->size() > 0){ + toJsonArray((QList<void*>*)channels, obj, "channels", "SWGChannel"); + } return obj; } @@ -109,6 +111,7 @@ SWGDeviceSet::getSamplingDevice() { void SWGDeviceSet::setSamplingDevice(SWGSamplingDevice* sampling_device) { this->sampling_device = sampling_device; + this->m_sampling_device_isSet = true; } qint32 @@ -118,6 +121,7 @@ SWGDeviceSet::getChannelcount() { void SWGDeviceSet::setChannelcount(qint32 channelcount) { this->channelcount = channelcount; + this->m_channelcount_isSet = true; } QList<SWGChannel*>* @@ -127,8 +131,19 @@ SWGDeviceSet::getChannels() { void SWGDeviceSet::setChannels(QList<SWGChannel*>* channels) { this->channels = channels; + this->m_channels_isSet = true; } +bool +SWGDeviceSet::isSet(){ + bool isObjectUpdated = false; + do{ + if(sampling_device != nullptr && sampling_device->isSet()){ isObjectUpdated = true; break;} + if(m_channelcount_isSet){ isObjectUpdated = true; break;} + if(channels->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSet.h b/swagger/sdrangel/code/qt5/client/SWGDeviceSet.h index 4f052d5c2..2db5cfa7a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSet.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSet.h @@ -12,7 +12,7 @@ /* * SWGDeviceSet.h - * + * * Sampling device and its associated channels */ @@ -28,21 +28,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDeviceSet: public SWGObject { public: SWGDeviceSet(); - SWGDeviceSet(QString* json); - virtual ~SWGDeviceSet(); + SWGDeviceSet(QString json); + ~SWGDeviceSet(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDeviceSet* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDeviceSet* fromJson(QString jsonString); SWGSamplingDevice* getSamplingDevice(); void setSamplingDevice(SWGSamplingDevice* sampling_device); @@ -54,10 +53,18 @@ public: void setChannels(QList<SWGChannel*>* channels); + virtual bool isSet() override; + private: SWGSamplingDevice* sampling_device; + bool m_sampling_device_isSet; + qint32 channelcount; + bool m_channelcount_isSet; + QList<SWGChannel*>* channels; + bool m_channels_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.cpp index d08d73bc2..3767e05cf 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.cpp @@ -39,8 +39,8 @@ SWGDeviceSetApi::devicesetChannelDelete(qint32 device_set_index, qint32 channel_ fullPath.replace(channel_indexPathParam, stringValue(channel_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "DELETE"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "DELETE"); @@ -51,7 +51,7 @@ SWGDeviceSetApi::devicesetChannelDelete(qint32 device_set_index, qint32 channel_ } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetChannelDeleteCallback); @@ -59,7 +59,7 @@ SWGDeviceSetApi::devicesetChannelDelete(qint32 device_set_index, qint32 channel_ } void -SWGDeviceSetApi::devicesetChannelDeleteCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetChannelDeleteCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -76,12 +76,16 @@ SWGDeviceSetApi::devicesetChannelDeleteCallback(HttpRequestWorker * worker) { SWGChannelSettings* output = static_cast<SWGChannelSettings*>(create(json, QString("SWGChannelSettings"))); worker->deleteLater(); - emit devicesetChannelDeleteSignal(output); - emit devicesetChannelDeleteSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetChannelDeleteSignal(output); + } else { + emit devicesetChannelDeleteSignalE(output, error_type, error_str); + emit devicesetChannelDeleteSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSettings body) { +SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSettings& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/channel"); @@ -89,10 +93,11 @@ SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSetting fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "POST"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "POST"); + QString output = body.asJson(); input.request_body.append(output); @@ -103,7 +108,7 @@ SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSetting } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetChannelPostCallback); @@ -111,7 +116,7 @@ SWGDeviceSetApi::devicesetChannelPost(qint32 device_set_index, SWGChannelSetting } void -SWGDeviceSetApi::devicesetChannelPostCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetChannelPostCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -128,8 +133,12 @@ SWGDeviceSetApi::devicesetChannelPostCallback(HttpRequestWorker * worker) { SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse"))); worker->deleteLater(); - emit devicesetChannelPostSignal(output); - emit devicesetChannelPostSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetChannelPostSignal(output); + } else { + emit devicesetChannelPostSignalE(output, error_type, error_str); + emit devicesetChannelPostSignalEFull(worker, error_type, error_str); + } } void @@ -143,8 +152,8 @@ SWGDeviceSetApi::devicesetChannelSettingsGet(qint32 device_set_index, qint32 cha fullPath.replace(channel_indexPathParam, stringValue(channel_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -155,7 +164,7 @@ SWGDeviceSetApi::devicesetChannelSettingsGet(qint32 device_set_index, qint32 cha } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetChannelSettingsGetCallback); @@ -163,7 +172,7 @@ SWGDeviceSetApi::devicesetChannelSettingsGet(qint32 device_set_index, qint32 cha } void -SWGDeviceSetApi::devicesetChannelSettingsGetCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetChannelSettingsGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -180,12 +189,16 @@ SWGDeviceSetApi::devicesetChannelSettingsGetCallback(HttpRequestWorker * worker) SWGChannelSettings* output = static_cast<SWGChannelSettings*>(create(json, QString("SWGChannelSettings"))); worker->deleteLater(); - emit devicesetChannelSettingsGetSignal(output); - emit devicesetChannelSettingsGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetChannelSettingsGetSignal(output); + } else { + emit devicesetChannelSettingsGetSignalE(output, error_type, error_str); + emit devicesetChannelSettingsGetSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 channel_index, SWGChannelSettings body) { +SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 channel_index, SWGChannelSettings& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}/settings"); @@ -195,10 +208,11 @@ SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 c fullPath.replace(channel_indexPathParam, stringValue(channel_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); + QString output = body.asJson(); input.request_body.append(output); @@ -209,7 +223,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 c } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetChannelSettingsPatchCallback); @@ -217,7 +231,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPatch(qint32 device_set_index, qint32 c } void -SWGDeviceSetApi::devicesetChannelSettingsPatchCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetChannelSettingsPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -234,12 +248,16 @@ SWGDeviceSetApi::devicesetChannelSettingsPatchCallback(HttpRequestWorker * worke SWGChannelSettings* output = static_cast<SWGChannelSettings*>(create(json, QString("SWGChannelSettings"))); worker->deleteLater(); - emit devicesetChannelSettingsPatchSignal(output); - emit devicesetChannelSettingsPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetChannelSettingsPatchSignal(output); + } else { + emit devicesetChannelSettingsPatchSignalE(output, error_type, error_str); + emit devicesetChannelSettingsPatchSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 channel_index, SWGChannelSettings body) { +SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 channel_index, SWGChannelSettings& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}/settings"); @@ -249,10 +267,11 @@ SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 cha fullPath.replace(channel_indexPathParam, stringValue(channel_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -263,7 +282,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 cha } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetChannelSettingsPutCallback); @@ -271,7 +290,7 @@ SWGDeviceSetApi::devicesetChannelSettingsPut(qint32 device_set_index, qint32 cha } void -SWGDeviceSetApi::devicesetChannelSettingsPutCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetChannelSettingsPutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -288,12 +307,16 @@ SWGDeviceSetApi::devicesetChannelSettingsPutCallback(HttpRequestWorker * worker) SWGChannelSettings* output = static_cast<SWGChannelSettings*>(create(json, QString("SWGChannelSettings"))); worker->deleteLater(); - emit devicesetChannelSettingsPutSignal(output); - emit devicesetChannelSettingsPutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetChannelSettingsPutSignal(output); + } else { + emit devicesetChannelSettingsPutSignalE(output, error_type, error_str); + emit devicesetChannelSettingsPutSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem body) { +SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/device"); @@ -301,10 +324,11 @@ SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem b fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -315,7 +339,7 @@ SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem b } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDevicePutCallback); @@ -323,7 +347,7 @@ SWGDeviceSetApi::devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem b } void -SWGDeviceSetApi::devicesetDevicePutCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDevicePutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -340,8 +364,12 @@ SWGDeviceSetApi::devicesetDevicePutCallback(HttpRequestWorker * worker) { SWGDeviceListItem* output = static_cast<SWGDeviceListItem*>(create(json, QString("SWGDeviceListItem"))); worker->deleteLater(); - emit devicesetDevicePutSignal(output); - emit devicesetDevicePutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDevicePutSignal(output); + } else { + emit devicesetDevicePutSignalE(output, error_type, error_str); + emit devicesetDevicePutSignalEFull(worker, error_type, error_str); + } } void @@ -353,8 +381,8 @@ SWGDeviceSetApi::devicesetDeviceRunDelete(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "DELETE"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "DELETE"); @@ -365,7 +393,7 @@ SWGDeviceSetApi::devicesetDeviceRunDelete(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceRunDeleteCallback); @@ -373,7 +401,7 @@ SWGDeviceSetApi::devicesetDeviceRunDelete(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetDeviceRunDeleteCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceRunDeleteCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -390,8 +418,12 @@ SWGDeviceSetApi::devicesetDeviceRunDeleteCallback(HttpRequestWorker * worker) { SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState"))); worker->deleteLater(); - emit devicesetDeviceRunDeleteSignal(output); - emit devicesetDeviceRunDeleteSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceRunDeleteSignal(output); + } else { + emit devicesetDeviceRunDeleteSignalE(output, error_type, error_str); + emit devicesetDeviceRunDeleteSignalEFull(worker, error_type, error_str); + } } void @@ -403,8 +435,8 @@ SWGDeviceSetApi::devicesetDeviceRunGet(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -415,7 +447,7 @@ SWGDeviceSetApi::devicesetDeviceRunGet(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceRunGetCallback); @@ -423,7 +455,7 @@ SWGDeviceSetApi::devicesetDeviceRunGet(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetDeviceRunGetCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceRunGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -440,8 +472,12 @@ SWGDeviceSetApi::devicesetDeviceRunGetCallback(HttpRequestWorker * worker) { SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState"))); worker->deleteLater(); - emit devicesetDeviceRunGetSignal(output); - emit devicesetDeviceRunGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceRunGetSignal(output); + } else { + emit devicesetDeviceRunGetSignalE(output, error_type, error_str); + emit devicesetDeviceRunGetSignalEFull(worker, error_type, error_str); + } } void @@ -453,8 +489,8 @@ SWGDeviceSetApi::devicesetDeviceRunPost(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "POST"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "POST"); @@ -465,7 +501,7 @@ SWGDeviceSetApi::devicesetDeviceRunPost(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceRunPostCallback); @@ -473,7 +509,7 @@ SWGDeviceSetApi::devicesetDeviceRunPost(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetDeviceRunPostCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceRunPostCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -490,8 +526,12 @@ SWGDeviceSetApi::devicesetDeviceRunPostCallback(HttpRequestWorker * worker) { SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState"))); worker->deleteLater(); - emit devicesetDeviceRunPostSignal(output); - emit devicesetDeviceRunPostSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceRunPostSignal(output); + } else { + emit devicesetDeviceRunPostSignalE(output, error_type, error_str); + emit devicesetDeviceRunPostSignalEFull(worker, error_type, error_str); + } } void @@ -503,8 +543,8 @@ SWGDeviceSetApi::devicesetDeviceSettingsGet(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -515,7 +555,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsGet(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceSettingsGetCallback); @@ -523,7 +563,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsGet(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetDeviceSettingsGetCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceSettingsGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -540,12 +580,16 @@ SWGDeviceSetApi::devicesetDeviceSettingsGetCallback(HttpRequestWorker * worker) SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings"))); worker->deleteLater(); - emit devicesetDeviceSettingsGetSignal(output); - emit devicesetDeviceSettingsGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceSettingsGetSignal(output); + } else { + emit devicesetDeviceSettingsGetSignalE(output, error_type, error_str); + emit devicesetDeviceSettingsGetSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings body) { +SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/device/settings"); @@ -553,10 +597,11 @@ SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDevice fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); + QString output = body.asJson(); input.request_body.append(output); @@ -567,7 +612,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDevice } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceSettingsPatchCallback); @@ -575,7 +620,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDevice } void -SWGDeviceSetApi::devicesetDeviceSettingsPatchCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceSettingsPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -592,12 +637,16 @@ SWGDeviceSetApi::devicesetDeviceSettingsPatchCallback(HttpRequestWorker * worker SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings"))); worker->deleteLater(); - emit devicesetDeviceSettingsPatchSignal(output); - emit devicesetDeviceSettingsPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceSettingsPatchSignal(output); + } else { + emit devicesetDeviceSettingsPatchSignalE(output, error_type, error_str); + emit devicesetDeviceSettingsPatchSignalEFull(worker, error_type, error_str); + } } void -SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings body) { +SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/device/settings"); @@ -605,10 +654,11 @@ SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSe fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -619,7 +669,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSe } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetDeviceSettingsPutCallback); @@ -627,7 +677,7 @@ SWGDeviceSetApi::devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSe } void -SWGDeviceSetApi::devicesetDeviceSettingsPutCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetDeviceSettingsPutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -644,8 +694,12 @@ SWGDeviceSetApi::devicesetDeviceSettingsPutCallback(HttpRequestWorker * worker) SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings"))); worker->deleteLater(); - emit devicesetDeviceSettingsPutSignal(output); - emit devicesetDeviceSettingsPutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetDeviceSettingsPutSignal(output); + } else { + emit devicesetDeviceSettingsPutSignalE(output, error_type, error_str); + emit devicesetDeviceSettingsPutSignalEFull(worker, error_type, error_str); + } } void @@ -657,8 +711,8 @@ SWGDeviceSetApi::devicesetFocusPatch(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); @@ -669,7 +723,7 @@ SWGDeviceSetApi::devicesetFocusPatch(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetFocusPatchCallback); @@ -677,7 +731,7 @@ SWGDeviceSetApi::devicesetFocusPatch(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetFocusPatchCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetFocusPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -694,8 +748,12 @@ SWGDeviceSetApi::devicesetFocusPatchCallback(HttpRequestWorker * worker) { SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse"))); worker->deleteLater(); - emit devicesetFocusPatchSignal(output); - emit devicesetFocusPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetFocusPatchSignal(output); + } else { + emit devicesetFocusPatchSignalE(output, error_type, error_str); + emit devicesetFocusPatchSignalEFull(worker, error_type, error_str); + } } void @@ -707,8 +765,8 @@ SWGDeviceSetApi::devicesetGet(qint32 device_set_index) { fullPath.replace(device_set_indexPathParam, stringValue(device_set_index)); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -719,7 +777,7 @@ SWGDeviceSetApi::devicesetGet(qint32 device_set_index) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::devicesetGetCallback); @@ -727,7 +785,7 @@ SWGDeviceSetApi::devicesetGet(qint32 device_set_index) { } void -SWGDeviceSetApi::devicesetGetCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::devicesetGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -744,8 +802,12 @@ SWGDeviceSetApi::devicesetGetCallback(HttpRequestWorker * worker) { SWGDeviceSet* output = static_cast<SWGDeviceSet*>(create(json, QString("SWGDeviceSet"))); worker->deleteLater(); - emit devicesetGetSignal(output); - emit devicesetGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit devicesetGetSignal(output); + } else { + emit devicesetGetSignalE(output, error_type, error_str); + emit devicesetGetSignalEFull(worker, error_type, error_str); + } } void @@ -755,8 +817,8 @@ SWGDeviceSetApi::instanceDeviceSetDelete() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "DELETE"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "DELETE"); @@ -767,7 +829,7 @@ SWGDeviceSetApi::instanceDeviceSetDelete() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::instanceDeviceSetDeleteCallback); @@ -775,7 +837,7 @@ SWGDeviceSetApi::instanceDeviceSetDelete() { } void -SWGDeviceSetApi::instanceDeviceSetDeleteCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::instanceDeviceSetDeleteCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -792,8 +854,12 @@ SWGDeviceSetApi::instanceDeviceSetDeleteCallback(HttpRequestWorker * worker) { SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse"))); worker->deleteLater(); - emit instanceDeviceSetDeleteSignal(output); - emit instanceDeviceSetDeleteSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDeviceSetDeleteSignal(output); + } else { + emit instanceDeviceSetDeleteSignalE(output, error_type, error_str); + emit instanceDeviceSetDeleteSignalEFull(worker, error_type, error_str); + } } void @@ -802,17 +868,17 @@ SWGDeviceSetApi::instanceDeviceSetPost(qint32 tx) { fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset"); - if (fullPath.indexOf("?") > 0) + if (fullPath.indexOf("?") > 0) fullPath.append("&"); - else + else fullPath.append("?"); fullPath.append(QUrl::toPercentEncoding("tx")) .append("=") .append(QUrl::toPercentEncoding(stringValue(tx))); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "POST"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "POST"); @@ -823,7 +889,7 @@ SWGDeviceSetApi::instanceDeviceSetPost(qint32 tx) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGDeviceSetApi::instanceDeviceSetPostCallback); @@ -831,7 +897,7 @@ SWGDeviceSetApi::instanceDeviceSetPost(qint32 tx) { } void -SWGDeviceSetApi::instanceDeviceSetPostCallback(HttpRequestWorker * worker) { +SWGDeviceSetApi::instanceDeviceSetPostCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -848,8 +914,12 @@ SWGDeviceSetApi::instanceDeviceSetPostCallback(HttpRequestWorker * worker) { SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse"))); worker->deleteLater(); - emit instanceDeviceSetPostSignal(output); - emit instanceDeviceSetPostSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDeviceSetPostSignal(output); + } else { + emit instanceDeviceSetPostSignalE(output, error_type, error_str); + emit instanceDeviceSetPostSignalEFull(worker, error_type, error_str); + } } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.h b/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.h index 00afe3310..c8fb702a3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSetApi.h @@ -40,39 +40,39 @@ public: QMap<QString, QString> defaultHeaders; void devicesetChannelDelete(qint32 device_set_index, qint32 channel_index); - void devicesetChannelPost(qint32 device_set_index, SWGChannelSettings body); + void devicesetChannelPost(qint32 device_set_index, SWGChannelSettings& body); void devicesetChannelSettingsGet(qint32 device_set_index, qint32 channel_index); - void devicesetChannelSettingsPatch(qint32 device_set_index, qint32 channel_index, SWGChannelSettings body); - void devicesetChannelSettingsPut(qint32 device_set_index, qint32 channel_index, SWGChannelSettings body); - void devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem body); + void devicesetChannelSettingsPatch(qint32 device_set_index, qint32 channel_index, SWGChannelSettings& body); + void devicesetChannelSettingsPut(qint32 device_set_index, qint32 channel_index, SWGChannelSettings& body); + void devicesetDevicePut(qint32 device_set_index, SWGDeviceListItem& body); void devicesetDeviceRunDelete(qint32 device_set_index); void devicesetDeviceRunGet(qint32 device_set_index); void devicesetDeviceRunPost(qint32 device_set_index); void devicesetDeviceSettingsGet(qint32 device_set_index); - void devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings body); - void devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings body); + void devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings& body); + void devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings& body); void devicesetFocusPatch(qint32 device_set_index); void devicesetGet(qint32 device_set_index); void instanceDeviceSetDelete(); void instanceDeviceSetPost(qint32 tx); private: - void devicesetChannelDeleteCallback (HttpRequestWorker * worker); - void devicesetChannelPostCallback (HttpRequestWorker * worker); - void devicesetChannelSettingsGetCallback (HttpRequestWorker * worker); - void devicesetChannelSettingsPatchCallback (HttpRequestWorker * worker); - void devicesetChannelSettingsPutCallback (HttpRequestWorker * worker); - void devicesetDevicePutCallback (HttpRequestWorker * worker); - void devicesetDeviceRunDeleteCallback (HttpRequestWorker * worker); - void devicesetDeviceRunGetCallback (HttpRequestWorker * worker); - void devicesetDeviceRunPostCallback (HttpRequestWorker * worker); - void devicesetDeviceSettingsGetCallback (HttpRequestWorker * worker); - void devicesetDeviceSettingsPatchCallback (HttpRequestWorker * worker); - void devicesetDeviceSettingsPutCallback (HttpRequestWorker * worker); - void devicesetFocusPatchCallback (HttpRequestWorker * worker); - void devicesetGetCallback (HttpRequestWorker * worker); - void instanceDeviceSetDeleteCallback (HttpRequestWorker * worker); - void instanceDeviceSetPostCallback (HttpRequestWorker * worker); + void devicesetChannelDeleteCallback (SWGHttpRequestWorker * worker); + void devicesetChannelPostCallback (SWGHttpRequestWorker * worker); + void devicesetChannelSettingsGetCallback (SWGHttpRequestWorker * worker); + void devicesetChannelSettingsPatchCallback (SWGHttpRequestWorker * worker); + void devicesetChannelSettingsPutCallback (SWGHttpRequestWorker * worker); + void devicesetDevicePutCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceRunDeleteCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceRunGetCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceRunPostCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceSettingsGetCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceSettingsPatchCallback (SWGHttpRequestWorker * worker); + void devicesetDeviceSettingsPutCallback (SWGHttpRequestWorker * worker); + void devicesetFocusPatchCallback (SWGHttpRequestWorker * worker); + void devicesetGetCallback (SWGHttpRequestWorker * worker); + void instanceDeviceSetDeleteCallback (SWGHttpRequestWorker * worker); + void instanceDeviceSetPostCallback (SWGHttpRequestWorker * worker); signals: void devicesetChannelDeleteSignal(SWGChannelSettings* summary); @@ -109,6 +109,23 @@ signals: void instanceDeviceSetDeleteSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str); void instanceDeviceSetPostSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetChannelDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetChannelPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetChannelSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetChannelSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetChannelSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDevicePutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceRunDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceRunGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceRunPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetDeviceSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetFocusPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void devicesetGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDeviceSetDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDeviceSetPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.cpp index e3f5ed46d..7d7af5bc5 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDeviceSetList::SWGDeviceSetList(QString* json) { +SWGDeviceSetList::SWGDeviceSetList(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDeviceSetList::SWGDeviceSetList() { @@ -38,18 +38,20 @@ SWGDeviceSetList::~SWGDeviceSetList() { void SWGDeviceSetList::init() { devicesetcount = 0; + m_devicesetcount_isSet = false; devicesetfocus = 0; + m_devicesetfocus_isSet = false; device_sets = new QList<SWGDeviceSet*>(); + m_device_sets_isSet = false; } void SWGDeviceSetList::cleanup() { - - if(device_sets != nullptr) { - QList<SWGDeviceSet*>* arr = device_sets; - foreach(SWGDeviceSet* o, *arr) { + if(device_sets != nullptr) { + auto arr = device_sets; + for(auto o: *arr) { delete o; } delete device_sets; @@ -57,7 +59,7 @@ SWGDeviceSetList::cleanup() { } SWGDeviceSetList* -SWGDeviceSetList::fromJson(QString &json) { +SWGDeviceSetList::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -66,35 +68,36 @@ SWGDeviceSetList::fromJson(QString &json) { } void -SWGDeviceSetList::fromJsonObject(QJsonObject &pJson) { +SWGDeviceSetList::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&devicesetcount, pJson["devicesetcount"], "qint32", ""); + ::SWGSDRangel::setValue(&devicesetfocus, pJson["devicesetfocus"], "qint32", ""); - ::SWGSDRangel::setValue(&device_sets, pJson["deviceSets"], "QList", "SWGDeviceSet"); + ::SWGSDRangel::setValue(&device_sets, pJson["deviceSets"], "QList", "SWGDeviceSet"); } QString SWGDeviceSetList::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDeviceSetList::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("devicesetcount", QJsonValue(devicesetcount)); - - obj->insert("devicesetfocus", QJsonValue(devicesetfocus)); - - QJsonArray device_setsJsonArray; - toJsonArray((QList<void*>*)device_sets, &device_setsJsonArray, "device_sets", "SWGDeviceSet"); - obj->insert("deviceSets", device_setsJsonArray); + QJsonObject obj; + if(m_devicesetcount_isSet){ + obj.insert("devicesetcount", QJsonValue(devicesetcount)); + } + if(m_devicesetfocus_isSet){ + obj.insert("devicesetfocus", QJsonValue(devicesetfocus)); + } + if(device_sets->size() > 0){ + toJsonArray((QList<void*>*)device_sets, obj, "deviceSets", "SWGDeviceSet"); + } return obj; } @@ -106,6 +109,7 @@ SWGDeviceSetList::getDevicesetcount() { void SWGDeviceSetList::setDevicesetcount(qint32 devicesetcount) { this->devicesetcount = devicesetcount; + this->m_devicesetcount_isSet = true; } qint32 @@ -115,6 +119,7 @@ SWGDeviceSetList::getDevicesetfocus() { void SWGDeviceSetList::setDevicesetfocus(qint32 devicesetfocus) { this->devicesetfocus = devicesetfocus; + this->m_devicesetfocus_isSet = true; } QList<SWGDeviceSet*>* @@ -124,8 +129,19 @@ SWGDeviceSetList::getDeviceSets() { void SWGDeviceSetList::setDeviceSets(QList<SWGDeviceSet*>* device_sets) { this->device_sets = device_sets; + this->m_device_sets_isSet = true; } +bool +SWGDeviceSetList::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_devicesetcount_isSet){ isObjectUpdated = true; break;} + if(m_devicesetfocus_isSet){ isObjectUpdated = true; break;} + if(device_sets->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.h b/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.h index 44ec95d98..883954ca4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSetList.h @@ -12,7 +12,7 @@ /* * SWGDeviceSetList.h - * + * * List of device sets opened in this instance */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDeviceSetList: public SWGObject { public: SWGDeviceSetList(); - SWGDeviceSetList(QString* json); - virtual ~SWGDeviceSetList(); + SWGDeviceSetList(QString json); + ~SWGDeviceSetList(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDeviceSetList* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDeviceSetList* fromJson(QString jsonString); qint32 getDevicesetcount(); void setDevicesetcount(qint32 devicesetcount); @@ -53,10 +52,18 @@ public: void setDeviceSets(QList<SWGDeviceSet*>* device_sets); + virtual bool isSet() override; + private: qint32 devicesetcount; + bool m_devicesetcount_isSet; + qint32 devicesetfocus; + bool m_devicesetfocus_isSet; + QList<SWGDeviceSet*>* device_sets; + bool m_device_sets_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp index 344ab6710..77c7667a3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDeviceSettings::SWGDeviceSettings(QString* json) { +SWGDeviceSettings::SWGDeviceSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDeviceSettings::SWGDeviceSettings() { @@ -38,50 +38,51 @@ SWGDeviceSettings::~SWGDeviceSettings() { void SWGDeviceSettings::init() { device_hw_type = new QString(""); + m_device_hw_type_isSet = false; tx = 0; + m_tx_isSet = false; file_source_settings = new SWGFileSourceSettings(); + m_file_source_settings_isSet = false; hack_rf_input_settings = new SWGHackRFInputSettings(); + m_hack_rf_input_settings_isSet = false; hack_rf_output_settings = new SWGHackRFOutputSettings(); + m_hack_rf_output_settings_isSet = false; lime_sdr_input_settings = new SWGLimeSdrInputSettings(); + m_lime_sdr_input_settings_isSet = false; lime_sdr_output_settings = new SWGLimeSdrOutputSettings(); + m_lime_sdr_output_settings_isSet = false; rtl_sdr_settings = new SWGRtlSdrSettings(); + m_rtl_sdr_settings_isSet = false; } void SWGDeviceSettings::cleanup() { - - if(device_hw_type != nullptr) { + if(device_hw_type != nullptr) { delete device_hw_type; } - - if(file_source_settings != nullptr) { + if(file_source_settings != nullptr) { delete file_source_settings; } - - if(hack_rf_input_settings != nullptr) { + if(hack_rf_input_settings != nullptr) { delete hack_rf_input_settings; } - - if(hack_rf_output_settings != nullptr) { + if(hack_rf_output_settings != nullptr) { delete hack_rf_output_settings; } - - if(lime_sdr_input_settings != nullptr) { + if(lime_sdr_input_settings != nullptr) { delete lime_sdr_input_settings; } - - if(lime_sdr_output_settings != nullptr) { + if(lime_sdr_output_settings != nullptr) { delete lime_sdr_output_settings; } - - if(rtl_sdr_settings != nullptr) { + if(rtl_sdr_settings != nullptr) { delete rtl_sdr_settings; } } SWGDeviceSettings* -SWGDeviceSettings::fromJson(QString &json) { +SWGDeviceSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -90,46 +91,61 @@ SWGDeviceSettings::fromJson(QString &json) { } void -SWGDeviceSettings::fromJsonObject(QJsonObject &pJson) { +SWGDeviceSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&device_hw_type, pJson["deviceHwType"], "QString", "QString"); + ::SWGSDRangel::setValue(&tx, pJson["tx"], "qint32", ""); + ::SWGSDRangel::setValue(&file_source_settings, pJson["fileSourceSettings"], "SWGFileSourceSettings", "SWGFileSourceSettings"); + ::SWGSDRangel::setValue(&hack_rf_input_settings, pJson["hackRFInputSettings"], "SWGHackRFInputSettings", "SWGHackRFInputSettings"); + ::SWGSDRangel::setValue(&hack_rf_output_settings, pJson["hackRFOutputSettings"], "SWGHackRFOutputSettings", "SWGHackRFOutputSettings"); + ::SWGSDRangel::setValue(&lime_sdr_input_settings, pJson["limeSdrInputSettings"], "SWGLimeSdrInputSettings", "SWGLimeSdrInputSettings"); + ::SWGSDRangel::setValue(&lime_sdr_output_settings, pJson["limeSdrOutputSettings"], "SWGLimeSdrOutputSettings", "SWGLimeSdrOutputSettings"); + ::SWGSDRangel::setValue(&rtl_sdr_settings, pJson["rtlSdrSettings"], "SWGRtlSdrSettings", "SWGRtlSdrSettings"); + } QString SWGDeviceSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDeviceSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("deviceHwType"), device_hw_type, obj, QString("QString")); - - obj->insert("tx", QJsonValue(tx)); - - toJsonValue(QString("fileSourceSettings"), file_source_settings, obj, QString("SWGFileSourceSettings")); - - toJsonValue(QString("hackRFInputSettings"), hack_rf_input_settings, obj, QString("SWGHackRFInputSettings")); - - toJsonValue(QString("hackRFOutputSettings"), hack_rf_output_settings, obj, QString("SWGHackRFOutputSettings")); - - toJsonValue(QString("limeSdrInputSettings"), lime_sdr_input_settings, obj, QString("SWGLimeSdrInputSettings")); - - toJsonValue(QString("limeSdrOutputSettings"), lime_sdr_output_settings, obj, QString("SWGLimeSdrOutputSettings")); - - toJsonValue(QString("rtlSdrSettings"), rtl_sdr_settings, obj, QString("SWGRtlSdrSettings")); + QJsonObject obj; + if(device_hw_type != nullptr && *device_hw_type != QString("")){ + toJsonValue(QString("deviceHwType"), device_hw_type, obj, QString("QString")); + } + if(m_tx_isSet){ + obj.insert("tx", QJsonValue(tx)); + } + if((file_source_settings != nullptr) && (file_source_settings->isSet())){ + toJsonValue(QString("fileSourceSettings"), file_source_settings, obj, QString("SWGFileSourceSettings")); + } + if((hack_rf_input_settings != nullptr) && (hack_rf_input_settings->isSet())){ + toJsonValue(QString("hackRFInputSettings"), hack_rf_input_settings, obj, QString("SWGHackRFInputSettings")); + } + if((hack_rf_output_settings != nullptr) && (hack_rf_output_settings->isSet())){ + toJsonValue(QString("hackRFOutputSettings"), hack_rf_output_settings, obj, QString("SWGHackRFOutputSettings")); + } + if((lime_sdr_input_settings != nullptr) && (lime_sdr_input_settings->isSet())){ + toJsonValue(QString("limeSdrInputSettings"), lime_sdr_input_settings, obj, QString("SWGLimeSdrInputSettings")); + } + if((lime_sdr_output_settings != nullptr) && (lime_sdr_output_settings->isSet())){ + toJsonValue(QString("limeSdrOutputSettings"), lime_sdr_output_settings, obj, QString("SWGLimeSdrOutputSettings")); + } + if((rtl_sdr_settings != nullptr) && (rtl_sdr_settings->isSet())){ + toJsonValue(QString("rtlSdrSettings"), rtl_sdr_settings, obj, QString("SWGRtlSdrSettings")); + } return obj; } @@ -141,6 +157,7 @@ SWGDeviceSettings::getDeviceHwType() { void SWGDeviceSettings::setDeviceHwType(QString* device_hw_type) { this->device_hw_type = device_hw_type; + this->m_device_hw_type_isSet = true; } qint32 @@ -150,6 +167,7 @@ SWGDeviceSettings::getTx() { void SWGDeviceSettings::setTx(qint32 tx) { this->tx = tx; + this->m_tx_isSet = true; } SWGFileSourceSettings* @@ -159,6 +177,7 @@ SWGDeviceSettings::getFileSourceSettings() { void SWGDeviceSettings::setFileSourceSettings(SWGFileSourceSettings* file_source_settings) { this->file_source_settings = file_source_settings; + this->m_file_source_settings_isSet = true; } SWGHackRFInputSettings* @@ -168,6 +187,7 @@ SWGDeviceSettings::getHackRfInputSettings() { void SWGDeviceSettings::setHackRfInputSettings(SWGHackRFInputSettings* hack_rf_input_settings) { this->hack_rf_input_settings = hack_rf_input_settings; + this->m_hack_rf_input_settings_isSet = true; } SWGHackRFOutputSettings* @@ -177,6 +197,7 @@ SWGDeviceSettings::getHackRfOutputSettings() { void SWGDeviceSettings::setHackRfOutputSettings(SWGHackRFOutputSettings* hack_rf_output_settings) { this->hack_rf_output_settings = hack_rf_output_settings; + this->m_hack_rf_output_settings_isSet = true; } SWGLimeSdrInputSettings* @@ -186,6 +207,7 @@ SWGDeviceSettings::getLimeSdrInputSettings() { void SWGDeviceSettings::setLimeSdrInputSettings(SWGLimeSdrInputSettings* lime_sdr_input_settings) { this->lime_sdr_input_settings = lime_sdr_input_settings; + this->m_lime_sdr_input_settings_isSet = true; } SWGLimeSdrOutputSettings* @@ -195,6 +217,7 @@ SWGDeviceSettings::getLimeSdrOutputSettings() { void SWGDeviceSettings::setLimeSdrOutputSettings(SWGLimeSdrOutputSettings* lime_sdr_output_settings) { this->lime_sdr_output_settings = lime_sdr_output_settings; + this->m_lime_sdr_output_settings_isSet = true; } SWGRtlSdrSettings* @@ -204,8 +227,24 @@ SWGDeviceSettings::getRtlSdrSettings() { void SWGDeviceSettings::setRtlSdrSettings(SWGRtlSdrSettings* rtl_sdr_settings) { this->rtl_sdr_settings = rtl_sdr_settings; + this->m_rtl_sdr_settings_isSet = true; } +bool +SWGDeviceSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(device_hw_type != nullptr && *device_hw_type != QString("")){ isObjectUpdated = true; break;} + if(m_tx_isSet){ isObjectUpdated = true; break;} + if(file_source_settings != nullptr && file_source_settings->isSet()){ isObjectUpdated = true; break;} + if(hack_rf_input_settings != nullptr && hack_rf_input_settings->isSet()){ isObjectUpdated = true; break;} + if(hack_rf_output_settings != nullptr && hack_rf_output_settings->isSet()){ isObjectUpdated = true; break;} + if(lime_sdr_input_settings != nullptr && lime_sdr_input_settings->isSet()){ isObjectUpdated = true; break;} + if(lime_sdr_output_settings != nullptr && lime_sdr_output_settings->isSet()){ isObjectUpdated = true; break;} + if(rtl_sdr_settings != nullptr && rtl_sdr_settings->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h index 48dc3c1df..681d75227 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h @@ -12,7 +12,7 @@ /* * SWGDeviceSettings.h - * + * * Base device settings */ @@ -32,21 +32,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDeviceSettings: public SWGObject { public: SWGDeviceSettings(); - SWGDeviceSettings(QString* json); - virtual ~SWGDeviceSettings(); + SWGDeviceSettings(QString json); + ~SWGDeviceSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDeviceSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDeviceSettings* fromJson(QString jsonString); QString* getDeviceHwType(); void setDeviceHwType(QString* device_hw_type); @@ -73,15 +72,33 @@ public: void setRtlSdrSettings(SWGRtlSdrSettings* rtl_sdr_settings); + virtual bool isSet() override; + private: QString* device_hw_type; + bool m_device_hw_type_isSet; + qint32 tx; + bool m_tx_isSet; + SWGFileSourceSettings* file_source_settings; + bool m_file_source_settings_isSet; + SWGHackRFInputSettings* hack_rf_input_settings; + bool m_hack_rf_input_settings_isSet; + SWGHackRFOutputSettings* hack_rf_output_settings; + bool m_hack_rf_output_settings_isSet; + SWGLimeSdrInputSettings* lime_sdr_input_settings; + bool m_lime_sdr_input_settings_isSet; + SWGLimeSdrOutputSettings* lime_sdr_output_settings; + bool m_lime_sdr_output_settings_isSet; + SWGRtlSdrSettings* rtl_sdr_settings; + bool m_rtl_sdr_settings_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceState.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceState.cpp index 1d7d6147e..370960f7c 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceState.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceState.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGDeviceState::SWGDeviceState(QString* json) { +SWGDeviceState::SWGDeviceState(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGDeviceState::SWGDeviceState() { @@ -38,18 +38,18 @@ SWGDeviceState::~SWGDeviceState() { void SWGDeviceState::init() { state = new QString(""); + m_state_isSet = false; } void SWGDeviceState::cleanup() { - - if(state != nullptr) { + if(state != nullptr) { delete state; } } SWGDeviceState* -SWGDeviceState::fromJson(QString &json) { +SWGDeviceState::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGDeviceState::fromJson(QString &json) { } void -SWGDeviceState::fromJsonObject(QJsonObject &pJson) { +SWGDeviceState::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&state, pJson["state"], "QString", "QString"); + } QString SWGDeviceState::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGDeviceState::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("state"), state, obj, QString("QString")); + QJsonObject obj; + if(state != nullptr && *state != QString("")){ + toJsonValue(QString("state"), state, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGDeviceState::getState() { void SWGDeviceState::setState(QString* state) { this->state = state; + this->m_state_isSet = true; } +bool +SWGDeviceState::isSet(){ + bool isObjectUpdated = false; + do{ + if(state != nullptr && *state != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceState.h b/swagger/sdrangel/code/qt5/client/SWGDeviceState.h index 97fd10ec7..5b727e618 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceState.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceState.h @@ -12,7 +12,7 @@ /* * SWGDeviceState.h - * + * * Device running state */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGDeviceState: public SWGObject { public: SWGDeviceState(); - SWGDeviceState(QString* json); - virtual ~SWGDeviceState(); + SWGDeviceState(QString json); + ~SWGDeviceState(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGDeviceState* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGDeviceState* fromJson(QString jsonString); QString* getState(); void setState(QString* state); + virtual bool isSet() override; + private: QString* state; + bool m_state_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGErrorResponse.cpp b/swagger/sdrangel/code/qt5/client/SWGErrorResponse.cpp index 1b45ce4ee..f40b22b6a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGErrorResponse.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGErrorResponse.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGErrorResponse::SWGErrorResponse(QString* json) { +SWGErrorResponse::SWGErrorResponse(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGErrorResponse::SWGErrorResponse() { @@ -38,18 +38,18 @@ SWGErrorResponse::~SWGErrorResponse() { void SWGErrorResponse::init() { message = new QString(""); + m_message_isSet = false; } void SWGErrorResponse::cleanup() { - - if(message != nullptr) { + if(message != nullptr) { delete message; } } SWGErrorResponse* -SWGErrorResponse::fromJson(QString &json) { +SWGErrorResponse::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGErrorResponse::fromJson(QString &json) { } void -SWGErrorResponse::fromJsonObject(QJsonObject &pJson) { +SWGErrorResponse::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&message, pJson["message"], "QString", "QString"); + } QString SWGErrorResponse::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGErrorResponse::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("message"), message, obj, QString("QString")); + QJsonObject obj; + if(message != nullptr && *message != QString("")){ + toJsonValue(QString("message"), message, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGErrorResponse::getMessage() { void SWGErrorResponse::setMessage(QString* message) { this->message = message; + this->m_message_isSet = true; } +bool +SWGErrorResponse::isSet(){ + bool isObjectUpdated = false; + do{ + if(message != nullptr && *message != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGErrorResponse.h b/swagger/sdrangel/code/qt5/client/SWGErrorResponse.h index 256e10c8a..51f299128 100644 --- a/swagger/sdrangel/code/qt5/client/SWGErrorResponse.h +++ b/swagger/sdrangel/code/qt5/client/SWGErrorResponse.h @@ -12,7 +12,7 @@ /* * SWGErrorResponse.h - * + * * */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGErrorResponse: public SWGObject { public: SWGErrorResponse(); - SWGErrorResponse(QString* json); - virtual ~SWGErrorResponse(); + SWGErrorResponse(QString json); + ~SWGErrorResponse(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGErrorResponse* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGErrorResponse* fromJson(QString jsonString); QString* getMessage(); void setMessage(QString* message); + virtual bool isSet() override; + private: QString* message; + bool m_message_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.cpp index cc93fb66a..80475f94b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGFileSourceSettings::SWGFileSourceSettings(QString* json) { +SWGFileSourceSettings::SWGFileSourceSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGFileSourceSettings::SWGFileSourceSettings() { @@ -38,18 +38,18 @@ SWGFileSourceSettings::~SWGFileSourceSettings() { void SWGFileSourceSettings::init() { file_name = new QString(""); + m_file_name_isSet = false; } void SWGFileSourceSettings::cleanup() { - - if(file_name != nullptr) { + if(file_name != nullptr) { delete file_name; } } SWGFileSourceSettings* -SWGFileSourceSettings::fromJson(QString &json) { +SWGFileSourceSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGFileSourceSettings::fromJson(QString &json) { } void -SWGFileSourceSettings::fromJsonObject(QJsonObject &pJson) { +SWGFileSourceSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&file_name, pJson["fileName"], "QString", "QString"); + } QString SWGFileSourceSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGFileSourceSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("fileName"), file_name, obj, QString("QString")); + QJsonObject obj; + if(file_name != nullptr && *file_name != QString("")){ + toJsonValue(QString("fileName"), file_name, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGFileSourceSettings::getFileName() { void SWGFileSourceSettings::setFileName(QString* file_name) { this->file_name = file_name; + this->m_file_name_isSet = true; } +bool +SWGFileSourceSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(file_name != nullptr && *file_name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.h b/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.h index a388149e2..5b2689a41 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFileSourceSettings.h @@ -12,7 +12,7 @@ /* * SWGFileSourceSettings.h - * + * * FileSource */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGFileSourceSettings: public SWGObject { public: SWGFileSourceSettings(); - SWGFileSourceSettings(QString* json); - virtual ~SWGFileSourceSettings(); + SWGFileSourceSettings(QString json); + ~SWGFileSourceSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGFileSourceSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGFileSourceSettings* fromJson(QString jsonString); QString* getFileName(); void setFileName(QString* file_name); + virtual bool isSet() override; + private: QString* file_name; + bool m_file_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp index 9893c8c92..bc46396d6 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGHackRFInputSettings::SWGHackRFInputSettings(QString* json) { +SWGHackRFInputSettings::SWGHackRFInputSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGHackRFInputSettings::SWGHackRFInputSettings() { @@ -38,23 +38,36 @@ SWGHackRFInputSettings::~SWGHackRFInputSettings() { void SWGHackRFInputSettings::init() { center_frequency = 0L; + m_center_frequency_isSet = false; l_oppm_tenths = 0; + m_l_oppm_tenths_isSet = false; bandwidth = 0; + m_bandwidth_isSet = false; lna_gain = 0; + m_lna_gain_isSet = false; vga_gain = 0; + m_vga_gain_isSet = false; log2_decim = 0; + m_log2_decim_isSet = false; fc_pos = 0; + m_fc_pos_isSet = false; dev_sample_rate = 0; + m_dev_sample_rate_isSet = false; bias_t = 0; + m_bias_t_isSet = false; lna_ext = 0; + m_lna_ext_isSet = false; dc_block = 0; + m_dc_block_isSet = false; iq_correction = 0; + m_iq_correction_isSet = false; link_tx_frequency = 0; + m_link_tx_frequency_isSet = false; } void SWGHackRFInputSettings::cleanup() { - + @@ -70,7 +83,7 @@ SWGHackRFInputSettings::cleanup() { } SWGHackRFInputSettings* -SWGHackRFInputSettings::fromJson(QString &json) { +SWGHackRFInputSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -79,61 +92,86 @@ SWGHackRFInputSettings::fromJson(QString &json) { } void -SWGHackRFInputSettings::fromJsonObject(QJsonObject &pJson) { +SWGHackRFInputSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); + ::SWGSDRangel::setValue(&bandwidth, pJson["bandwidth"], "qint32", ""); + ::SWGSDRangel::setValue(&lna_gain, pJson["lnaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&vga_gain, pJson["vgaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_decim, pJson["log2Decim"], "qint32", ""); + ::SWGSDRangel::setValue(&fc_pos, pJson["fcPos"], "qint32", ""); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&bias_t, pJson["biasT"], "qint32", ""); + ::SWGSDRangel::setValue(&lna_ext, pJson["lnaExt"], "qint32", ""); + ::SWGSDRangel::setValue(&dc_block, pJson["dcBlock"], "qint32", ""); + ::SWGSDRangel::setValue(&iq_correction, pJson["iqCorrection"], "qint32", ""); + ::SWGSDRangel::setValue(&link_tx_frequency, pJson["linkTxFrequency"], "qint32", ""); + } QString SWGHackRFInputSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGHackRFInputSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("LOppmTenths", QJsonValue(l_oppm_tenths)); - - obj->insert("bandwidth", QJsonValue(bandwidth)); - - obj->insert("lnaGain", QJsonValue(lna_gain)); - - obj->insert("vgaGain", QJsonValue(vga_gain)); - - obj->insert("log2Decim", QJsonValue(log2_decim)); - - obj->insert("fcPos", QJsonValue(fc_pos)); - - obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); - - obj->insert("biasT", QJsonValue(bias_t)); - - obj->insert("lnaExt", QJsonValue(lna_ext)); - - obj->insert("dcBlock", QJsonValue(dc_block)); - - obj->insert("iqCorrection", QJsonValue(iq_correction)); - - obj->insert("linkTxFrequency", QJsonValue(link_tx_frequency)); + QJsonObject obj; + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_l_oppm_tenths_isSet){ + obj.insert("LOppmTenths", QJsonValue(l_oppm_tenths)); + } + if(m_bandwidth_isSet){ + obj.insert("bandwidth", QJsonValue(bandwidth)); + } + if(m_lna_gain_isSet){ + obj.insert("lnaGain", QJsonValue(lna_gain)); + } + if(m_vga_gain_isSet){ + obj.insert("vgaGain", QJsonValue(vga_gain)); + } + if(m_log2_decim_isSet){ + obj.insert("log2Decim", QJsonValue(log2_decim)); + } + if(m_fc_pos_isSet){ + obj.insert("fcPos", QJsonValue(fc_pos)); + } + if(m_dev_sample_rate_isSet){ + obj.insert("devSampleRate", QJsonValue(dev_sample_rate)); + } + if(m_bias_t_isSet){ + obj.insert("biasT", QJsonValue(bias_t)); + } + if(m_lna_ext_isSet){ + obj.insert("lnaExt", QJsonValue(lna_ext)); + } + if(m_dc_block_isSet){ + obj.insert("dcBlock", QJsonValue(dc_block)); + } + if(m_iq_correction_isSet){ + obj.insert("iqCorrection", QJsonValue(iq_correction)); + } + if(m_link_tx_frequency_isSet){ + obj.insert("linkTxFrequency", QJsonValue(link_tx_frequency)); + } return obj; } @@ -145,6 +183,7 @@ SWGHackRFInputSettings::getCenterFrequency() { void SWGHackRFInputSettings::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -154,6 +193,7 @@ SWGHackRFInputSettings::getLOppmTenths() { void SWGHackRFInputSettings::setLOppmTenths(qint32 l_oppm_tenths) { this->l_oppm_tenths = l_oppm_tenths; + this->m_l_oppm_tenths_isSet = true; } qint32 @@ -163,6 +203,7 @@ SWGHackRFInputSettings::getBandwidth() { void SWGHackRFInputSettings::setBandwidth(qint32 bandwidth) { this->bandwidth = bandwidth; + this->m_bandwidth_isSet = true; } qint32 @@ -172,6 +213,7 @@ SWGHackRFInputSettings::getLnaGain() { void SWGHackRFInputSettings::setLnaGain(qint32 lna_gain) { this->lna_gain = lna_gain; + this->m_lna_gain_isSet = true; } qint32 @@ -181,6 +223,7 @@ SWGHackRFInputSettings::getVgaGain() { void SWGHackRFInputSettings::setVgaGain(qint32 vga_gain) { this->vga_gain = vga_gain; + this->m_vga_gain_isSet = true; } qint32 @@ -190,6 +233,7 @@ SWGHackRFInputSettings::getLog2Decim() { void SWGHackRFInputSettings::setLog2Decim(qint32 log2_decim) { this->log2_decim = log2_decim; + this->m_log2_decim_isSet = true; } qint32 @@ -199,6 +243,7 @@ SWGHackRFInputSettings::getFcPos() { void SWGHackRFInputSettings::setFcPos(qint32 fc_pos) { this->fc_pos = fc_pos; + this->m_fc_pos_isSet = true; } qint32 @@ -208,6 +253,7 @@ SWGHackRFInputSettings::getDevSampleRate() { void SWGHackRFInputSettings::setDevSampleRate(qint32 dev_sample_rate) { this->dev_sample_rate = dev_sample_rate; + this->m_dev_sample_rate_isSet = true; } qint32 @@ -217,6 +263,7 @@ SWGHackRFInputSettings::getBiasT() { void SWGHackRFInputSettings::setBiasT(qint32 bias_t) { this->bias_t = bias_t; + this->m_bias_t_isSet = true; } qint32 @@ -226,6 +273,7 @@ SWGHackRFInputSettings::getLnaExt() { void SWGHackRFInputSettings::setLnaExt(qint32 lna_ext) { this->lna_ext = lna_ext; + this->m_lna_ext_isSet = true; } qint32 @@ -235,6 +283,7 @@ SWGHackRFInputSettings::getDcBlock() { void SWGHackRFInputSettings::setDcBlock(qint32 dc_block) { this->dc_block = dc_block; + this->m_dc_block_isSet = true; } qint32 @@ -244,6 +293,7 @@ SWGHackRFInputSettings::getIqCorrection() { void SWGHackRFInputSettings::setIqCorrection(qint32 iq_correction) { this->iq_correction = iq_correction; + this->m_iq_correction_isSet = true; } qint32 @@ -253,8 +303,29 @@ SWGHackRFInputSettings::getLinkTxFrequency() { void SWGHackRFInputSettings::setLinkTxFrequency(qint32 link_tx_frequency) { this->link_tx_frequency = link_tx_frequency; + this->m_link_tx_frequency_isSet = true; } +bool +SWGHackRFInputSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_l_oppm_tenths_isSet){ isObjectUpdated = true; break;} + if(m_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_lna_gain_isSet){ isObjectUpdated = true; break;} + if(m_vga_gain_isSet){ isObjectUpdated = true; break;} + if(m_log2_decim_isSet){ isObjectUpdated = true; break;} + if(m_fc_pos_isSet){ isObjectUpdated = true; break;} + if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_bias_t_isSet){ isObjectUpdated = true; break;} + if(m_lna_ext_isSet){ isObjectUpdated = true; break;} + if(m_dc_block_isSet){ isObjectUpdated = true; break;} + if(m_iq_correction_isSet){ isObjectUpdated = true; break;} + if(m_link_tx_frequency_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h index 7f264dc2b..5be31bb04 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h @@ -12,7 +12,7 @@ /* * SWGHackRFInputSettings.h - * + * * HackRF */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGHackRFInputSettings: public SWGObject { public: SWGHackRFInputSettings(); - SWGHackRFInputSettings(QString* json); - virtual ~SWGHackRFInputSettings(); + SWGHackRFInputSettings(QString json); + ~SWGHackRFInputSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGHackRFInputSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGHackRFInputSettings* fromJson(QString jsonString); qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -81,20 +80,48 @@ public: void setLinkTxFrequency(qint32 link_tx_frequency); + virtual bool isSet() override; + private: qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 l_oppm_tenths; + bool m_l_oppm_tenths_isSet; + qint32 bandwidth; + bool m_bandwidth_isSet; + qint32 lna_gain; + bool m_lna_gain_isSet; + qint32 vga_gain; + bool m_vga_gain_isSet; + qint32 log2_decim; + bool m_log2_decim_isSet; + qint32 fc_pos; + bool m_fc_pos_isSet; + qint32 dev_sample_rate; + bool m_dev_sample_rate_isSet; + qint32 bias_t; + bool m_bias_t_isSet; + qint32 lna_ext; + bool m_lna_ext_isSet; + qint32 dc_block; + bool m_dc_block_isSet; + qint32 iq_correction; + bool m_iq_correction_isSet; + qint32 link_tx_frequency; + bool m_link_tx_frequency_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp index 4c449d915..196b85987 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGHackRFOutputSettings::SWGHackRFOutputSettings(QString* json) { +SWGHackRFOutputSettings::SWGHackRFOutputSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGHackRFOutputSettings::SWGHackRFOutputSettings() { @@ -38,18 +38,26 @@ SWGHackRFOutputSettings::~SWGHackRFOutputSettings() { void SWGHackRFOutputSettings::init() { center_frequency = 0L; + m_center_frequency_isSet = false; l_oppm_tenths = 0; + m_l_oppm_tenths_isSet = false; bandwidth = 0; + m_bandwidth_isSet = false; vga_gain = 0; + m_vga_gain_isSet = false; log2_interp = 0; + m_log2_interp_isSet = false; dev_sample_rate = 0; + m_dev_sample_rate_isSet = false; bias_t = 0; + m_bias_t_isSet = false; lna_ext = 0; + m_lna_ext_isSet = false; } void SWGHackRFOutputSettings::cleanup() { - + @@ -60,7 +68,7 @@ SWGHackRFOutputSettings::cleanup() { } SWGHackRFOutputSettings* -SWGHackRFOutputSettings::fromJson(QString &json) { +SWGHackRFOutputSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -69,46 +77,61 @@ SWGHackRFOutputSettings::fromJson(QString &json) { } void -SWGHackRFOutputSettings::fromJsonObject(QJsonObject &pJson) { +SWGHackRFOutputSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); + ::SWGSDRangel::setValue(&bandwidth, pJson["bandwidth"], "qint32", ""); + ::SWGSDRangel::setValue(&vga_gain, pJson["vgaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_interp, pJson["log2Interp"], "qint32", ""); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&bias_t, pJson["biasT"], "qint32", ""); + ::SWGSDRangel::setValue(&lna_ext, pJson["lnaExt"], "qint32", ""); + } QString SWGHackRFOutputSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGHackRFOutputSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("LOppmTenths", QJsonValue(l_oppm_tenths)); - - obj->insert("bandwidth", QJsonValue(bandwidth)); - - obj->insert("vgaGain", QJsonValue(vga_gain)); - - obj->insert("log2Interp", QJsonValue(log2_interp)); - - obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); - - obj->insert("biasT", QJsonValue(bias_t)); - - obj->insert("lnaExt", QJsonValue(lna_ext)); + QJsonObject obj; + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_l_oppm_tenths_isSet){ + obj.insert("LOppmTenths", QJsonValue(l_oppm_tenths)); + } + if(m_bandwidth_isSet){ + obj.insert("bandwidth", QJsonValue(bandwidth)); + } + if(m_vga_gain_isSet){ + obj.insert("vgaGain", QJsonValue(vga_gain)); + } + if(m_log2_interp_isSet){ + obj.insert("log2Interp", QJsonValue(log2_interp)); + } + if(m_dev_sample_rate_isSet){ + obj.insert("devSampleRate", QJsonValue(dev_sample_rate)); + } + if(m_bias_t_isSet){ + obj.insert("biasT", QJsonValue(bias_t)); + } + if(m_lna_ext_isSet){ + obj.insert("lnaExt", QJsonValue(lna_ext)); + } return obj; } @@ -120,6 +143,7 @@ SWGHackRFOutputSettings::getCenterFrequency() { void SWGHackRFOutputSettings::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -129,6 +153,7 @@ SWGHackRFOutputSettings::getLOppmTenths() { void SWGHackRFOutputSettings::setLOppmTenths(qint32 l_oppm_tenths) { this->l_oppm_tenths = l_oppm_tenths; + this->m_l_oppm_tenths_isSet = true; } qint32 @@ -138,6 +163,7 @@ SWGHackRFOutputSettings::getBandwidth() { void SWGHackRFOutputSettings::setBandwidth(qint32 bandwidth) { this->bandwidth = bandwidth; + this->m_bandwidth_isSet = true; } qint32 @@ -147,6 +173,7 @@ SWGHackRFOutputSettings::getVgaGain() { void SWGHackRFOutputSettings::setVgaGain(qint32 vga_gain) { this->vga_gain = vga_gain; + this->m_vga_gain_isSet = true; } qint32 @@ -156,6 +183,7 @@ SWGHackRFOutputSettings::getLog2Interp() { void SWGHackRFOutputSettings::setLog2Interp(qint32 log2_interp) { this->log2_interp = log2_interp; + this->m_log2_interp_isSet = true; } qint32 @@ -165,6 +193,7 @@ SWGHackRFOutputSettings::getDevSampleRate() { void SWGHackRFOutputSettings::setDevSampleRate(qint32 dev_sample_rate) { this->dev_sample_rate = dev_sample_rate; + this->m_dev_sample_rate_isSet = true; } qint32 @@ -174,6 +203,7 @@ SWGHackRFOutputSettings::getBiasT() { void SWGHackRFOutputSettings::setBiasT(qint32 bias_t) { this->bias_t = bias_t; + this->m_bias_t_isSet = true; } qint32 @@ -183,8 +213,24 @@ SWGHackRFOutputSettings::getLnaExt() { void SWGHackRFOutputSettings::setLnaExt(qint32 lna_ext) { this->lna_ext = lna_ext; + this->m_lna_ext_isSet = true; } +bool +SWGHackRFOutputSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_l_oppm_tenths_isSet){ isObjectUpdated = true; break;} + if(m_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_vga_gain_isSet){ isObjectUpdated = true; break;} + if(m_log2_interp_isSet){ isObjectUpdated = true; break;} + if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_bias_t_isSet){ isObjectUpdated = true; break;} + if(m_lna_ext_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h index c08c0281c..3a220f164 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h @@ -12,7 +12,7 @@ /* * SWGHackRFOutputSettings.h - * + * * HackRF */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGHackRFOutputSettings: public SWGObject { public: SWGHackRFOutputSettings(); - SWGHackRFOutputSettings(QString* json); - virtual ~SWGHackRFOutputSettings(); + SWGHackRFOutputSettings(QString json); + ~SWGHackRFOutputSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGHackRFOutputSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGHackRFOutputSettings* fromJson(QString jsonString); qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -66,15 +65,33 @@ public: void setLnaExt(qint32 lna_ext); + virtual bool isSet() override; + private: qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 l_oppm_tenths; + bool m_l_oppm_tenths_isSet; + qint32 bandwidth; + bool m_bandwidth_isSet; + qint32 vga_gain; + bool m_vga_gain_isSet; + qint32 log2_interp; + bool m_log2_interp_isSet; + qint32 dev_sample_rate; + bool m_dev_sample_rate_isSet; + qint32 bias_t; + bool m_bias_t_isSet; + qint32 lna_ext; + bool m_lna_ext_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGHelpers.cpp b/swagger/sdrangel/code/qt5/client/SWGHelpers.cpp index 81e1c69c9..e7a74e03d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHelpers.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHelpers.cpp @@ -41,7 +41,7 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { } else if(QStringLiteral("float").compare(type) == 0) { float *val = static_cast<float*>(value); - *val = obj.toDouble(); + *val = static_cast<float>(obj.toDouble()); } else if(QStringLiteral("double").compare(type) == 0) { double *val = static_cast<double*>(value); @@ -49,23 +49,16 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { } else if (QStringLiteral("QString").compare(type) == 0) { QString **val = static_cast<QString**>(value); - if(val != nullptr) { if(!obj.isNull()) { - // create a new value and return - delete *val; - *val = new QString(obj.toString()); + (*val)->clear(); + (*val)->append(obj.toString()); return; } else { - // set target to nullptr - delete *val; - *val = nullptr; + (*val)->clear(); } } - else { - qDebug() << "Can't set value because the target pointer is nullptr"; - } } else if (QStringLiteral("QDateTime").compare(type) == 0) { QDateTime **val = static_cast<QDateTime**>(value); @@ -73,13 +66,13 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { if(val != nullptr) { if(!obj.isNull()) { // create a new value and return - delete *val; + if(*val != nullptr) delete *val; *val = new QDateTime(QDateTime::fromString(obj.toString(), Qt::ISODate)); return; } else { // set target to nullptr - delete *val; + if(*val != nullptr) delete *val; *val = nullptr; } } @@ -93,13 +86,13 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { if(val != nullptr) { if(!obj.isNull()) { // create a new value and return - delete *val; + if(*val != nullptr) delete *val; *val = new QDate(QDate::fromString(obj.toString(), Qt::ISODate)); return; } else { // set target to nullptr - delete *val; + if(*val != nullptr) delete *val; *val = nullptr; } } @@ -113,14 +106,14 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { if(val != nullptr) { if(!obj.isNull()) { // create a new value and return - delete *val; + if(*val != nullptr) delete *val; *val = new QByteArray(QByteArray::fromBase64(QByteArray::fromStdString(obj.toString().toStdString()))); return; } else { // set target to nullptr - delete *val; + if(*val != nullptr) delete *val; *val = nullptr; } } @@ -131,144 +124,441 @@ setValue(void* value, QJsonValue obj, QString type, QString complexType) { else if(type.startsWith("SWG") && obj.isObject()) { // complex type QJsonObject jsonObj = obj.toObject(); - SWGObject * so = (SWGObject*)::SWGSDRangel::create(type); + SWGObject * so = (SWGObject*)::SWGSDRangel::create(complexType); if(so != nullptr) { so->fromJsonObject(jsonObj); SWGObject **val = static_cast<SWGObject**>(value); - delete *val; + if(*val != nullptr) delete *val; *val = so; } } else if(type.startsWith("QList") && QString("").compare(complexType) != 0 && obj.isArray()) { // list of values - QList<void*>* output = new QList<void*>(); - QJsonArray arr = obj.toArray(); - foreach (const QJsonValue & jval, arr) { - if(complexType.startsWith("SWG")) { - // it's an object - SWGObject * val = (SWGObject*)create(complexType); - QJsonObject t = jval.toObject(); - - val->fromJsonObject(t); - output->append(val); + if(complexType.startsWith("SWG")) { + auto output = reinterpret_cast<QList<SWGObject *> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; } - else { - // primitives - if(QStringLiteral("qint32").compare(complexType) == 0) { - qint32 val; - setValue(&val, jval, QStringLiteral("qint32"), QStringLiteral("")); - output->append((void*)&val); - } - else if(QStringLiteral("qint64").compare(complexType) == 0) { - qint64 val; - setValue(&val, jval, QStringLiteral("qint64"), QStringLiteral("")); - output->append((void*)&val); - } - else if(QStringLiteral("bool").compare(complexType) == 0) { - bool val; - setValue(&val, jval, QStringLiteral("bool"), QStringLiteral("")); - output->append((void*)&val); - } - else if(QStringLiteral("float").compare(complexType) == 0) { - float val; - setValue(&val, jval, QStringLiteral("float"), QStringLiteral("")); - output->append((void*)&val); - } - else if(QStringLiteral("double").compare(complexType) == 0) { - double val; - setValue(&val, jval, QStringLiteral("double"), QStringLiteral("")); - output->append((void*)&val); - } - else if(QStringLiteral("QString").compare(complexType) == 0) { - QString * val = new QString(); - setValue(&val, jval, QStringLiteral("QString"), QStringLiteral("")); - output->append((void*)val); - } - else if(QStringLiteral("QDate").compare(complexType) == 0) { - QDate * val = new QDate(); - setValue(&val, jval, QStringLiteral("QDate"), QStringLiteral("")); - output->append((void*)val); - } - else if(QStringLiteral("QDateTime").compare(complexType) == 0) { - QDateTime * val = new QDateTime(); - setValue(&val, jval, QStringLiteral("QDateTime"), QStringLiteral("")); - output->append((void*)val); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr) { + // it's an object + SWGObject * val = (SWGObject*)::SWGSDRangel::create(complexType); + QJsonObject t = jval.toObject(); + val->fromJsonObject(t); + (*output)->append(val); + } + } + else if(QStringLiteral("qint32").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<qint32> **> (value); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + qint32 val; + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("qint32"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("qint64").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<qint64> **> (value); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + qint64 val; + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("qint64"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("bool").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<bool> **> (value); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + bool val; + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("bool"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("float").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<float> **> (value); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + float val; + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("float"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("double").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<double> **> (value); + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + double val; + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("double"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("QString").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<QString*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + QString * val = new QString(); + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("QString"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("QDate").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<QDate*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + QDate * val = new QDate(); + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("QDate"), QStringLiteral("")); + (*output)->push_back(val); + } + } + else if(QStringLiteral("QDateTime").compare(complexType) == 0) { + auto output = reinterpret_cast<QList<QDateTime*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + QJsonArray arr = obj.toArray(); + for (const QJsonValue & jval : arr){ + QDateTime * val = new QDateTime(); + ::SWGSDRangel::setValue(&val, jval, QStringLiteral("QDateTime"), QStringLiteral("")); + (*output)->push_back(val); + } + } + } + else if(type.startsWith("QMap") && QString("").compare(complexType) != 0 && obj.isObject()) { + // list of values + if(complexType.startsWith("SWG")) { + auto output = reinterpret_cast<QMap<QString, SWGObject*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + auto val = (SWGObject*)::SWGSDRangel::create(complexType); + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, complexType, complexType); + (*output)->insert(itemkey, val); + } + } + } + else if(QStringLiteral("qint32").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, qint32> **> (value); + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + qint32 val; + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("qint32"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("qint64").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, qint64> **> (value); + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + qint64 val; + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("qint64"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("bool").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, bool> **> (value); + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + bool val; + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("bool"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("float").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, float> **> (value); + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + float val; + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("float"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("double").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, double> **> (value); + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + double val; + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("double"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("QString").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, QString*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + QString * val = new QString(); + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("QString"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("QDate").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, QDate*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + QDate * val = new QDate(); + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("QDate"), QStringLiteral("")); + (*output)->insert( itemkey, val); + } + } + } + else if(QStringLiteral("QDateTime").compare(complexType) == 0) { + auto output = reinterpret_cast<QMap<QString, QDateTime*> **> (value); + for (auto item : **output) { + if(item != nullptr) delete item; + } + (*output)->clear(); + auto varmap = obj.toObject().toVariantMap(); + if(varmap.count() > 0){ + for(auto itemkey : varmap.keys() ){ + QDateTime * val = new QDateTime(); + auto jsonval = QJsonValue::fromVariant(varmap.value(itemkey)); + ::SWGSDRangel::setValue(&val, jsonval, QStringLiteral("QDateTime"), QStringLiteral("")); + (*output)->insert( itemkey, val); } } } - QList<void*> **val = static_cast<QList<void*>**>(value); - delete *val; - *val = output; } } void -toJsonValue(QString name, void* value, QJsonObject* output, QString type) { +toJsonValue(QString name, void* value, QJsonObject& output, QString type) { if(value == nullptr) { return; } if(type.startsWith("SWG")) { - SWGObject *swgObject = reinterpret_cast<SWGObject *>(value); - if(swgObject != nullptr) { - QJsonObject* o = (*swgObject).asJsonObject(); - if(name != nullptr) { - output->insert(name, *o); - delete o; + SWGObject *SWGobject = reinterpret_cast<SWGObject *>(value); + if(SWGobject != nullptr) { + QJsonObject o = SWGobject->asJsonObject(); + if(!name.isNull()) { + output.insert(name, o); } else { - output->empty(); - foreach(QString key, o->keys()) { - output->insert(key, o->value(key)); + output.empty(); + for(QString key : o.keys()) { + output.insert(key, o.value(key)); } } } } else if(QStringLiteral("QString").compare(type) == 0) { QString* str = static_cast<QString*>(value); - output->insert(name, QJsonValue(*str)); + output.insert(name, QJsonValue(*str)); } else if(QStringLiteral("qint32").compare(type) == 0) { qint32* str = static_cast<qint32*>(value); - output->insert(name, QJsonValue(*str)); + output.insert(name, QJsonValue(*str)); } else if(QStringLiteral("qint64").compare(type) == 0) { qint64* str = static_cast<qint64*>(value); - output->insert(name, QJsonValue(*str)); + output.insert(name, QJsonValue(*str)); } else if(QStringLiteral("bool").compare(type) == 0) { bool* str = static_cast<bool*>(value); - output->insert(name, QJsonValue(*str)); + output.insert(name, QJsonValue(*str)); } else if(QStringLiteral("float").compare(type) == 0) { float* str = static_cast<float*>(value); - output->insert(name, QJsonValue((double)*str)); + output.insert(name, QJsonValue((double)*str)); } else if(QStringLiteral("double").compare(type) == 0) { double* str = static_cast<double*>(value); - output->insert(name, QJsonValue(*str)); + output.insert(name, QJsonValue(*str)); } else if(QStringLiteral("QDate").compare(type) == 0) { QDate* date = static_cast<QDate*>(value); - output->insert(name, QJsonValue(date->toString(Qt::ISODate))); + output.insert(name, QJsonValue(date->toString(Qt::ISODate))); } else if(QStringLiteral("QDateTime").compare(type) == 0) { QDateTime* datetime = static_cast<QDateTime*>(value); - output->insert(name, QJsonValue(datetime->toString(Qt::ISODate))); + output.insert(name, QJsonValue(datetime->toString(Qt::ISODate))); } else if(QStringLiteral("QByteArray").compare(type) == 0) { QByteArray* byteArray = static_cast<QByteArray*>(value); - output->insert(name, QJsonValue(QString(byteArray->toBase64()))); + output.insert(name, QJsonValue(QString(byteArray->toBase64()))); } } void -toJsonArray(QList<void*>* value, QJsonArray* output, QString innerName, QString innerType) { - foreach(void* obj, *value) { - QJsonObject element; - - toJsonValue(nullptr, obj, &element, innerType); - output->append(element); +toJsonArray(QList<void*>* value, QJsonObject& output, QString innerName, QString innerType) { + if(value == nullptr) { + return; } + QJsonArray outputarray; + if(innerType.startsWith("SWG")){ + for(void* obj : *value) { + SWGObject *SWGobject = reinterpret_cast<SWGObject *>(obj); + if(SWGobject != nullptr) { + outputarray.append(SWGobject->asJsonObject()); + } + } + } + else if(QStringLiteral("QString").compare(innerType) == 0) { + for(QString* obj : *(reinterpret_cast<QList<QString*>*>(value))){ + outputarray.append(QJsonValue(*obj)); + } + } + else if(QStringLiteral("QDate").compare(innerType) == 0) { + for(QDate* obj : *(reinterpret_cast<QList<QDate*>*>(value))){ + outputarray.append(QJsonValue(obj->toString(Qt::ISODate))); + } + } + else if(QStringLiteral("QDateTime").compare(innerType) == 0) { + for(QDateTime* obj : *(reinterpret_cast<QList<QDateTime*>*>(value))){ + outputarray.append(QJsonValue(obj->toString(Qt::ISODate))); } + } + else if(QStringLiteral("QByteArray").compare(innerType) == 0) { + for(QByteArray* obj : *(reinterpret_cast<QList<QByteArray*>*>(value))){ + outputarray.append(QJsonValue(QString(obj->toBase64()))); + } + } + else if(QStringLiteral("qint32").compare(innerType) == 0) { + for(qint32 obj : *(reinterpret_cast<QList<qint32>*>(value))) + outputarray.append(QJsonValue(obj)); + } + else if(QStringLiteral("qint64").compare(innerType) == 0) { + for(qint64 obj : *(reinterpret_cast<QList<qint64>*>(value))) + outputarray.append(QJsonValue(obj)); + } + else if(QStringLiteral("bool").compare(innerType) == 0) { + for(bool obj : *(reinterpret_cast<QList<bool>*>(value))) + outputarray.append(QJsonValue(obj)); + } + else if(QStringLiteral("float").compare(innerType) == 0) { + for(float obj : *(reinterpret_cast<QList<float>*>(value))) + outputarray.append(QJsonValue(obj)); + } + else if(QStringLiteral("double").compare(innerType) == 0) { + for(double obj : *(reinterpret_cast<QList<double>*>(value))) + outputarray.append(QJsonValue(obj)); + } + output.insert(innerName, outputarray); +} + +void +toJsonMap(QMap<QString, void*>* value, QJsonObject& output, QString innerName, QString innerType) { + if(value == nullptr) { + return; + } + QJsonObject mapobj; + if(innerType.startsWith("SWG")){ + auto items = reinterpret_cast< QMap<QString, SWGObject*> *>(value); + for(auto itemkey: items->keys()) { + ::SWGSDRangel::toJsonValue(itemkey, items->value(itemkey),mapobj, innerType); + } + } + else if(QStringLiteral("QString").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, QString*> *>(value); + for(auto itemkey: items->keys()) { + ::SWGSDRangel::toJsonValue(itemkey, items->value(itemkey), mapobj, innerType); + } + } + else if(QStringLiteral("QDate").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, QDate*> *>(value); + for(auto itemkey: items->keys()) { + ::SWGSDRangel::toJsonValue(itemkey, items->value(itemkey), mapobj, innerType); + } + } + else if(QStringLiteral("QDateTime").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, QDateTime*> *>(value); + for(auto itemkey: items->keys()) { + ::SWGSDRangel::toJsonValue(itemkey, items->value(itemkey), mapobj, innerType); + } + } + else if(QStringLiteral("QByteArray").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, QByteArray*> *>(value); + for(auto itemkey: items->keys()) { + ::SWGSDRangel::toJsonValue(itemkey, items->value(itemkey), mapobj, innerType); + } + } + else if(QStringLiteral("qint32").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, qint32> *>(value); + for(auto itemkey: items->keys()) { + auto val = items->value(itemkey); + ::SWGSDRangel::toJsonValue(itemkey, &val, mapobj, innerType); + } + } + else if(QStringLiteral("qint64").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, qint64> *>(value); + for(auto itemkey: items->keys()) { + auto val = items->value(itemkey); + ::SWGSDRangel::toJsonValue(itemkey, &val, mapobj, innerType); + } + } + else if(QStringLiteral("bool").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, bool> *>(value); + for(auto itemkey: items->keys()) { + auto val = items->value(itemkey); + ::SWGSDRangel::toJsonValue(itemkey, &val, mapobj, innerType); + } + } + else if(QStringLiteral("float").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, float> *>(value); + for(auto itemkey: items->keys()) { + auto val = items->value(itemkey); + ::SWGSDRangel::toJsonValue(itemkey, &val, mapobj, innerType); + } + } + else if(QStringLiteral("double").compare(innerType) == 0) { + auto items = reinterpret_cast< QMap<QString, double> *>(value); + for(auto itemkey: items->keys() ) { + auto val = items->value(itemkey); + ::SWGSDRangel::toJsonValue(itemkey, &val, mapobj, innerType); + } + } + output.insert(innerName, mapobj); } QString diff --git a/swagger/sdrangel/code/qt5/client/SWGHelpers.h b/swagger/sdrangel/code/qt5/client/SWGHelpers.h index 9e4dd952e..65710ad03 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHelpers.h +++ b/swagger/sdrangel/code/qt5/client/SWGHelpers.h @@ -10,16 +10,19 @@ * Do not edit the class manually. */ -#ifndef SWGHELPERS_H -#define SWGHELPERS_H +#ifndef SWG_HELPERS_H +#define SWG_HELPERS_H #include <QJsonValue> +#include <QList> +#include <QMap> namespace SWGSDRangel { void setValue(void* value, QJsonValue obj, QString type, QString complexType); - void toJsonArray(QList<void*>* value, QJsonArray* output, QString innerName, QString innerType); - void toJsonValue(QString name, void* value, QJsonObject* output, QString type); + void toJsonArray(QList<void*>* value, QJsonObject& output, QString innerName, QString innerType); + void toJsonValue(QString name, void* value, QJsonObject& output, QString type); + void toJsonMap(QMap<QString, void*>* value, QJsonObject& output, QString innerName, QString innerType); bool isCompatibleJsonValue(QString type); QString stringValue(QString* value); QString stringValue(qint32 value); @@ -28,4 +31,4 @@ namespace SWGSDRangel { } -#endif // SWGHELPERS_H +#endif // SWG_HELPERS_H diff --git a/swagger/sdrangel/code/qt5/client/SWGHttpRequest.cpp b/swagger/sdrangel/code/qt5/client/SWGHttpRequest.cpp index db67c969a..326526e6a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHttpRequest.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHttpRequest.cpp @@ -20,27 +20,27 @@ namespace SWGSDRangel { -HttpRequestInput::HttpRequestInput() { +SWGHttpRequestInput::SWGHttpRequestInput() { initialize(); } -HttpRequestInput::HttpRequestInput(QString v_url_str, QString v_http_method) { +SWGHttpRequestInput::SWGHttpRequestInput(QString v_url_str, QString v_http_method) { initialize(); url_str = v_url_str; http_method = v_http_method; } -void HttpRequestInput::initialize() { +void SWGHttpRequestInput::initialize() { var_layout = NOT_SET; url_str = ""; http_method = "GET"; } -void HttpRequestInput::add_var(QString key, QString value) { +void SWGHttpRequestInput::add_var(QString key, QString value) { vars[key] = value; } -void HttpRequestInput::add_file(QString variable_name, QString local_filename, QString request_filename, QString mime_type) { +void SWGHttpRequestInput::add_file(QString variable_name, QString local_filename, QString request_filename, QString mime_type) { SWGHttpRequestInputFileElement file; file.variable_name = variable_name; file.local_filename = local_filename; @@ -50,19 +50,19 @@ void HttpRequestInput::add_file(QString variable_name, QString local_filename, Q } -HttpRequestWorker::HttpRequestWorker(QObject *parent) +SWGHttpRequestWorker::SWGHttpRequestWorker(QObject *parent) : QObject(parent), manager(nullptr) { qsrand(QDateTime::currentDateTime().toTime_t()); manager = new QNetworkAccessManager(this); - connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_manager_finished(QNetworkReply*))); + connect(manager, &QNetworkAccessManager::finished, this, &SWGHttpRequestWorker::on_manager_finished); } -HttpRequestWorker::~HttpRequestWorker() { +SWGHttpRequestWorker::~SWGHttpRequestWorker() { } -QString HttpRequestWorker::http_attribute_encode(QString attribute_name, QString input) { +QString SWGHttpRequestWorker::http_attribute_encode(QString attribute_name, QString input) { // result structure follows RFC 5987 bool need_utf_encoding = false; QString result = ""; @@ -110,7 +110,7 @@ QString HttpRequestWorker::http_attribute_encode(QString attribute_name, QString return QString("%1=\"%2\"; %1*=utf-8''%3").arg(attribute_name, result, result_utf8); } -void HttpRequestWorker::execute(HttpRequestInput *input) { +void SWGHttpRequestWorker::execute(SWGHttpRequestInput *input) { // reset variables @@ -262,6 +262,9 @@ void HttpRequestWorker::execute(HttpRequestInput *input) { // prepare connection QNetworkRequest request = QNetworkRequest(QUrl(input->url_str)); + if (SWGHttpRequestWorker::sslDefaultConfiguration != nullptr) { + request.setSslConfiguration(*SWGHttpRequestWorker::sslDefaultConfiguration); + } request.setRawHeader("User-Agent", "Swagger-Client"); foreach(QString key, input->headers.keys()) { request.setRawHeader(key.toStdString().c_str(), input->headers.value(key).toStdString().c_str()); @@ -307,18 +310,16 @@ void HttpRequestWorker::execute(HttpRequestInput *input) { } -void HttpRequestWorker::on_manager_finished(QNetworkReply *reply) { +void SWGHttpRequestWorker::on_manager_finished(QNetworkReply *reply) { error_type = reply->error(); - if (error_type == QNetworkReply::NoError) { - response = reply->readAll(); - } - else { - error_str = reply->errorString(); - } + response = reply->readAll(); + error_str = reply->errorString(); reply->deleteLater(); emit on_execution_finished(this); } +QSslConfiguration* SWGHttpRequestWorker::sslDefaultConfiguration; + } diff --git a/swagger/sdrangel/code/qt5/client/SWGHttpRequest.h b/swagger/sdrangel/code/qt5/client/SWGHttpRequest.h index a81e5817a..02aadd5a1 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHttpRequest.h +++ b/swagger/sdrangel/code/qt5/client/SWGHttpRequest.h @@ -16,8 +16,8 @@ * **/ -#ifndef HTTPREQUESTWORKER_H -#define HTTPREQUESTWORKER_H +#ifndef SWG_HTTPREQUESTWORKER_H +#define SWG_HTTPREQUESTWORKER_H #include <QObject> #include <QString> @@ -25,10 +25,12 @@ #include <QNetworkAccessManager> #include <QNetworkReply> -enum HttpRequestVarLayout {NOT_SET, ADDRESS, URL_ENCODED, MULTIPART}; + namespace SWGSDRangel { +enum SWGHttpRequestVarLayout {NOT_SET, ADDRESS, URL_ENCODED, MULTIPART}; + class SWGHttpRequestInputFileElement { public: @@ -40,19 +42,19 @@ public: }; -class HttpRequestInput { +class SWGHttpRequestInput { public: QString url_str; QString http_method; - HttpRequestVarLayout var_layout; + SWGHttpRequestVarLayout var_layout; QMap<QString, QString> vars; QMap<QString, QString> headers; QList<SWGHttpRequestInputFileElement> files; QByteArray request_body; - HttpRequestInput(); - HttpRequestInput(QString v_url_str, QString v_http_method); + SWGHttpRequestInput(); + SWGHttpRequestInput(QString v_url_str, QString v_http_method); void initialize(); void add_var(QString key, QString value); void add_file(QString variable_name, QString local_filename, QString request_filename, QString mime_type); @@ -60,7 +62,7 @@ public: }; -class HttpRequestWorker : public QObject { +class SWGHttpRequestWorker : public QObject { Q_OBJECT public: @@ -68,14 +70,15 @@ public: QNetworkReply::NetworkError error_type; QString error_str; - explicit HttpRequestWorker(QObject *parent = 0); - virtual ~HttpRequestWorker(); + explicit SWGHttpRequestWorker(QObject *parent = 0); + virtual ~SWGHttpRequestWorker(); QString http_attribute_encode(QString attribute_name, QString input); - void execute(HttpRequestInput *input); + void execute(SWGHttpRequestInput *input); + static QSslConfiguration* sslDefaultConfiguration; signals: - void on_execution_finished(HttpRequestWorker *worker); + void on_execution_finished(SWGHttpRequestWorker *worker); private: QNetworkAccessManager *manager; @@ -87,4 +90,4 @@ private slots: } -#endif // HTTPREQUESTWORKER_H +#endif // SWG_HTTPREQUESTWORKER_H diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp index 2bf924e52..912ac09e3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp @@ -35,8 +35,8 @@ SWGInstanceApi::instanceAudioGet() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -47,7 +47,7 @@ SWGInstanceApi::instanceAudioGet() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceAudioGetCallback); @@ -55,7 +55,7 @@ SWGInstanceApi::instanceAudioGet() { } void -SWGInstanceApi::instanceAudioGetCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceAudioGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -72,21 +72,26 @@ SWGInstanceApi::instanceAudioGetCallback(HttpRequestWorker * worker) { SWGAudioDevices* output = static_cast<SWGAudioDevices*>(create(json, QString("SWGAudioDevices"))); worker->deleteLater(); - emit instanceAudioGetSignal(output); - emit instanceAudioGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceAudioGetSignal(output); + } else { + emit instanceAudioGetSignalE(output, error_type, error_str); + emit instanceAudioGetSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instanceAudioPatch(SWGAudioDevicesSelect body) { +SWGInstanceApi::instanceAudioPatch(SWGAudioDevicesSelect& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); + QString output = body.asJson(); input.request_body.append(output); @@ -97,7 +102,7 @@ SWGInstanceApi::instanceAudioPatch(SWGAudioDevicesSelect body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceAudioPatchCallback); @@ -105,7 +110,7 @@ SWGInstanceApi::instanceAudioPatch(SWGAudioDevicesSelect body) { } void -SWGInstanceApi::instanceAudioPatchCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceAudioPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -122,8 +127,12 @@ SWGInstanceApi::instanceAudioPatchCallback(HttpRequestWorker * worker) { SWGAudioDevicesSelect* output = static_cast<SWGAudioDevicesSelect*>(create(json, QString("SWGAudioDevicesSelect"))); worker->deleteLater(); - emit instanceAudioPatchSignal(output); - emit instanceAudioPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceAudioPatchSignal(output); + } else { + emit instanceAudioPatchSignalE(output, error_type, error_str); + emit instanceAudioPatchSignalEFull(worker, error_type, error_str); + } } void @@ -132,17 +141,17 @@ SWGInstanceApi::instanceChannels(qint32 tx) { fullPath.append(this->host).append(this->basePath).append("/sdrangel/channels"); - if (fullPath.indexOf("?") > 0) + if (fullPath.indexOf("?") > 0) fullPath.append("&"); - else + else fullPath.append("?"); fullPath.append(QUrl::toPercentEncoding("tx")) .append("=") .append(QUrl::toPercentEncoding(stringValue(tx))); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -153,7 +162,7 @@ SWGInstanceApi::instanceChannels(qint32 tx) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceChannelsCallback); @@ -161,7 +170,7 @@ SWGInstanceApi::instanceChannels(qint32 tx) { } void -SWGInstanceApi::instanceChannelsCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceChannelsCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -178,8 +187,12 @@ SWGInstanceApi::instanceChannelsCallback(HttpRequestWorker * worker) { SWGInstanceChannelsResponse* output = static_cast<SWGInstanceChannelsResponse*>(create(json, QString("SWGInstanceChannelsResponse"))); worker->deleteLater(); - emit instanceChannelsSignal(output); - emit instanceChannelsSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceChannelsSignal(output); + } else { + emit instanceChannelsSignalE(output, error_type, error_str); + emit instanceChannelsSignalEFull(worker, error_type, error_str); + } } void @@ -188,17 +201,17 @@ SWGInstanceApi::instanceDVSerialPatch(qint32 dvserial) { fullPath.append(this->host).append(this->basePath).append("/sdrangel/dvserial"); - if (fullPath.indexOf("?") > 0) + if (fullPath.indexOf("?") > 0) fullPath.append("&"); - else + else fullPath.append("?"); fullPath.append(QUrl::toPercentEncoding("dvserial")) .append("=") .append(QUrl::toPercentEncoding(stringValue(dvserial))); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); @@ -209,7 +222,7 @@ SWGInstanceApi::instanceDVSerialPatch(qint32 dvserial) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceDVSerialPatchCallback); @@ -217,7 +230,7 @@ SWGInstanceApi::instanceDVSerialPatch(qint32 dvserial) { } void -SWGInstanceApi::instanceDVSerialPatchCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceDVSerialPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -234,8 +247,12 @@ SWGInstanceApi::instanceDVSerialPatchCallback(HttpRequestWorker * worker) { SWGDVSeralDevices* output = static_cast<SWGDVSeralDevices*>(create(json, QString("SWGDVSeralDevices"))); worker->deleteLater(); - emit instanceDVSerialPatchSignal(output); - emit instanceDVSerialPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDVSerialPatchSignal(output); + } else { + emit instanceDVSerialPatchSignalE(output, error_type, error_str); + emit instanceDVSerialPatchSignalEFull(worker, error_type, error_str); + } } void @@ -245,8 +262,8 @@ SWGInstanceApi::instanceDelete() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "DELETE"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "DELETE"); @@ -257,7 +274,7 @@ SWGInstanceApi::instanceDelete() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceDeleteCallback); @@ -265,7 +282,7 @@ SWGInstanceApi::instanceDelete() { } void -SWGInstanceApi::instanceDeleteCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceDeleteCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -282,8 +299,12 @@ SWGInstanceApi::instanceDeleteCallback(HttpRequestWorker * worker) { SWGInstanceSummaryResponse* output = static_cast<SWGInstanceSummaryResponse*>(create(json, QString("SWGInstanceSummaryResponse"))); worker->deleteLater(); - emit instanceDeleteSignal(output); - emit instanceDeleteSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDeleteSignal(output); + } else { + emit instanceDeleteSignalE(output, error_type, error_str); + emit instanceDeleteSignalEFull(worker, error_type, error_str); + } } void @@ -293,8 +314,8 @@ SWGInstanceApi::instanceDeviceSetsGet() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -305,7 +326,7 @@ SWGInstanceApi::instanceDeviceSetsGet() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceDeviceSetsGetCallback); @@ -313,7 +334,7 @@ SWGInstanceApi::instanceDeviceSetsGet() { } void -SWGInstanceApi::instanceDeviceSetsGetCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceDeviceSetsGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -330,8 +351,12 @@ SWGInstanceApi::instanceDeviceSetsGetCallback(HttpRequestWorker * worker) { SWGDeviceSetList* output = static_cast<SWGDeviceSetList*>(create(json, QString("SWGDeviceSetList"))); worker->deleteLater(); - emit instanceDeviceSetsGetSignal(output); - emit instanceDeviceSetsGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDeviceSetsGetSignal(output); + } else { + emit instanceDeviceSetsGetSignalE(output, error_type, error_str); + emit instanceDeviceSetsGetSignalEFull(worker, error_type, error_str); + } } void @@ -340,17 +365,17 @@ SWGInstanceApi::instanceDevices(qint32 tx) { fullPath.append(this->host).append(this->basePath).append("/sdrangel/devices"); - if (fullPath.indexOf("?") > 0) + if (fullPath.indexOf("?") > 0) fullPath.append("&"); - else + else fullPath.append("?"); fullPath.append(QUrl::toPercentEncoding("tx")) .append("=") .append(QUrl::toPercentEncoding(stringValue(tx))); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -361,7 +386,7 @@ SWGInstanceApi::instanceDevices(qint32 tx) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceDevicesCallback); @@ -369,7 +394,7 @@ SWGInstanceApi::instanceDevices(qint32 tx) { } void -SWGInstanceApi::instanceDevicesCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceDevicesCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -386,8 +411,12 @@ SWGInstanceApi::instanceDevicesCallback(HttpRequestWorker * worker) { SWGInstanceDevicesResponse* output = static_cast<SWGInstanceDevicesResponse*>(create(json, QString("SWGInstanceDevicesResponse"))); worker->deleteLater(); - emit instanceDevicesSignal(output); - emit instanceDevicesSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceDevicesSignal(output); + } else { + emit instanceDevicesSignalE(output, error_type, error_str); + emit instanceDevicesSignalEFull(worker, error_type, error_str); + } } void @@ -397,8 +426,8 @@ SWGInstanceApi::instanceLocationGet() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -409,7 +438,7 @@ SWGInstanceApi::instanceLocationGet() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceLocationGetCallback); @@ -417,7 +446,7 @@ SWGInstanceApi::instanceLocationGet() { } void -SWGInstanceApi::instanceLocationGetCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceLocationGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -434,21 +463,26 @@ SWGInstanceApi::instanceLocationGetCallback(HttpRequestWorker * worker) { SWGLocationInformation* output = static_cast<SWGLocationInformation*>(create(json, QString("SWGLocationInformation"))); worker->deleteLater(); - emit instanceLocationGetSignal(output); - emit instanceLocationGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceLocationGetSignal(output); + } else { + emit instanceLocationGetSignalE(output, error_type, error_str); + emit instanceLocationGetSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instanceLocationPut(SWGLocationInformation body) { +SWGInstanceApi::instanceLocationPut(SWGLocationInformation& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/location"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -459,7 +493,7 @@ SWGInstanceApi::instanceLocationPut(SWGLocationInformation body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceLocationPutCallback); @@ -467,7 +501,7 @@ SWGInstanceApi::instanceLocationPut(SWGLocationInformation body) { } void -SWGInstanceApi::instanceLocationPutCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceLocationPutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -484,8 +518,12 @@ SWGInstanceApi::instanceLocationPutCallback(HttpRequestWorker * worker) { SWGLocationInformation* output = static_cast<SWGLocationInformation*>(create(json, QString("SWGLocationInformation"))); worker->deleteLater(); - emit instanceLocationPutSignal(output); - emit instanceLocationPutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceLocationPutSignal(output); + } else { + emit instanceLocationPutSignalE(output, error_type, error_str); + emit instanceLocationPutSignalEFull(worker, error_type, error_str); + } } void @@ -495,8 +533,8 @@ SWGInstanceApi::instanceLoggingGet() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -507,7 +545,7 @@ SWGInstanceApi::instanceLoggingGet() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceLoggingGetCallback); @@ -515,7 +553,7 @@ SWGInstanceApi::instanceLoggingGet() { } void -SWGInstanceApi::instanceLoggingGetCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceLoggingGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -532,21 +570,26 @@ SWGInstanceApi::instanceLoggingGetCallback(HttpRequestWorker * worker) { SWGLoggingInfo* output = static_cast<SWGLoggingInfo*>(create(json, QString("SWGLoggingInfo"))); worker->deleteLater(); - emit instanceLoggingGetSignal(output); - emit instanceLoggingGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceLoggingGetSignal(output); + } else { + emit instanceLoggingGetSignalE(output, error_type, error_str); + emit instanceLoggingGetSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instanceLoggingPut(SWGLoggingInfo body) { +SWGInstanceApi::instanceLoggingPut(SWGLoggingInfo& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/logging"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -557,7 +600,7 @@ SWGInstanceApi::instanceLoggingPut(SWGLoggingInfo body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceLoggingPutCallback); @@ -565,7 +608,7 @@ SWGInstanceApi::instanceLoggingPut(SWGLoggingInfo body) { } void -SWGInstanceApi::instanceLoggingPutCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceLoggingPutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -582,21 +625,26 @@ SWGInstanceApi::instanceLoggingPutCallback(HttpRequestWorker * worker) { SWGLoggingInfo* output = static_cast<SWGLoggingInfo*>(create(json, QString("SWGLoggingInfo"))); worker->deleteLater(); - emit instanceLoggingPutSignal(output); - emit instanceLoggingPutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceLoggingPutSignal(output); + } else { + emit instanceLoggingPutSignalE(output, error_type, error_str); + emit instanceLoggingPutSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetDelete(SWGPresetIdentifier body) { +SWGInstanceApi::instancePresetDelete(SWGPresetIdentifier& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "DELETE"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "DELETE"); + QString output = body.asJson(); input.request_body.append(output); @@ -607,7 +655,7 @@ SWGInstanceApi::instancePresetDelete(SWGPresetIdentifier body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetDeleteCallback); @@ -615,7 +663,7 @@ SWGInstanceApi::instancePresetDelete(SWGPresetIdentifier body) { } void -SWGInstanceApi::instancePresetDeleteCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetDeleteCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -632,21 +680,26 @@ SWGInstanceApi::instancePresetDeleteCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetDeleteSignal(output); - emit instancePresetDeleteSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetDeleteSignal(output); + } else { + emit instancePresetDeleteSignalE(output, error_type, error_str); + emit instancePresetDeleteSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetFilePost(SWGPresetExport body) { +SWGInstanceApi::instancePresetFilePost(SWGPresetExport& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset/file"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "POST"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "POST"); + QString output = body.asJson(); input.request_body.append(output); @@ -657,7 +710,7 @@ SWGInstanceApi::instancePresetFilePost(SWGPresetExport body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetFilePostCallback); @@ -665,7 +718,7 @@ SWGInstanceApi::instancePresetFilePost(SWGPresetExport body) { } void -SWGInstanceApi::instancePresetFilePostCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetFilePostCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -682,21 +735,26 @@ SWGInstanceApi::instancePresetFilePostCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetFilePostSignal(output); - emit instancePresetFilePostSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetFilePostSignal(output); + } else { + emit instancePresetFilePostSignalE(output, error_type, error_str); + emit instancePresetFilePostSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetFilePut(SWGPresetImport body) { +SWGInstanceApi::instancePresetFilePut(SWGPresetImport& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset/file"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -707,7 +765,7 @@ SWGInstanceApi::instancePresetFilePut(SWGPresetImport body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetFilePutCallback); @@ -715,7 +773,7 @@ SWGInstanceApi::instancePresetFilePut(SWGPresetImport body) { } void -SWGInstanceApi::instancePresetFilePutCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetFilePutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -732,8 +790,12 @@ SWGInstanceApi::instancePresetFilePutCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetFilePutSignal(output); - emit instancePresetFilePutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetFilePutSignal(output); + } else { + emit instancePresetFilePutSignalE(output, error_type, error_str); + emit instancePresetFilePutSignalEFull(worker, error_type, error_str); + } } void @@ -743,8 +805,8 @@ SWGInstanceApi::instancePresetGet() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -755,7 +817,7 @@ SWGInstanceApi::instancePresetGet() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetGetCallback); @@ -763,7 +825,7 @@ SWGInstanceApi::instancePresetGet() { } void -SWGInstanceApi::instancePresetGetCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetGetCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -780,21 +842,26 @@ SWGInstanceApi::instancePresetGetCallback(HttpRequestWorker * worker) { SWGPresets* output = static_cast<SWGPresets*>(create(json, QString("SWGPresets"))); worker->deleteLater(); - emit instancePresetGetSignal(output); - emit instancePresetGetSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetGetSignal(output); + } else { + emit instancePresetGetSignalE(output, error_type, error_str); + emit instancePresetGetSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetPatch(SWGPresetTransfer body) { +SWGInstanceApi::instancePresetPatch(SWGPresetTransfer& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PATCH"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PATCH"); + QString output = body.asJson(); input.request_body.append(output); @@ -805,7 +872,7 @@ SWGInstanceApi::instancePresetPatch(SWGPresetTransfer body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetPatchCallback); @@ -813,7 +880,7 @@ SWGInstanceApi::instancePresetPatch(SWGPresetTransfer body) { } void -SWGInstanceApi::instancePresetPatchCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetPatchCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -830,21 +897,26 @@ SWGInstanceApi::instancePresetPatchCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetPatchSignal(output); - emit instancePresetPatchSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetPatchSignal(output); + } else { + emit instancePresetPatchSignalE(output, error_type, error_str); + emit instancePresetPatchSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetPost(SWGPresetTransfer body) { +SWGInstanceApi::instancePresetPost(SWGPresetTransfer& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "POST"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "POST"); + QString output = body.asJson(); input.request_body.append(output); @@ -855,7 +927,7 @@ SWGInstanceApi::instancePresetPost(SWGPresetTransfer body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetPostCallback); @@ -863,7 +935,7 @@ SWGInstanceApi::instancePresetPost(SWGPresetTransfer body) { } void -SWGInstanceApi::instancePresetPostCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetPostCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -880,21 +952,26 @@ SWGInstanceApi::instancePresetPostCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetPostSignal(output); - emit instancePresetPostSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetPostSignal(output); + } else { + emit instancePresetPostSignalE(output, error_type, error_str); + emit instancePresetPostSignalEFull(worker, error_type, error_str); + } } void -SWGInstanceApi::instancePresetPut(SWGPresetTransfer body) { +SWGInstanceApi::instancePresetPut(SWGPresetTransfer& body) { QString fullPath; fullPath.append(this->host).append(this->basePath).append("/sdrangel/preset"); - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "PUT"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "PUT"); + QString output = body.asJson(); input.request_body.append(output); @@ -905,7 +982,7 @@ SWGInstanceApi::instancePresetPut(SWGPresetTransfer body) { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instancePresetPutCallback); @@ -913,7 +990,7 @@ SWGInstanceApi::instancePresetPut(SWGPresetTransfer body) { } void -SWGInstanceApi::instancePresetPutCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instancePresetPutCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -930,8 +1007,12 @@ SWGInstanceApi::instancePresetPutCallback(HttpRequestWorker * worker) { SWGPresetIdentifier* output = static_cast<SWGPresetIdentifier*>(create(json, QString("SWGPresetIdentifier"))); worker->deleteLater(); - emit instancePresetPutSignal(output); - emit instancePresetPutSignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instancePresetPutSignal(output); + } else { + emit instancePresetPutSignalE(output, error_type, error_str); + emit instancePresetPutSignalEFull(worker, error_type, error_str); + } } void @@ -941,8 +1022,8 @@ SWGInstanceApi::instanceSummary() { - HttpRequestWorker *worker = new HttpRequestWorker(); - HttpRequestInput input(fullPath, "GET"); + SWGHttpRequestWorker *worker = new SWGHttpRequestWorker(); + SWGHttpRequestInput input(fullPath, "GET"); @@ -953,7 +1034,7 @@ SWGInstanceApi::instanceSummary() { } connect(worker, - &HttpRequestWorker::on_execution_finished, + &SWGHttpRequestWorker::on_execution_finished, this, &SWGInstanceApi::instanceSummaryCallback); @@ -961,7 +1042,7 @@ SWGInstanceApi::instanceSummary() { } void -SWGInstanceApi::instanceSummaryCallback(HttpRequestWorker * worker) { +SWGInstanceApi::instanceSummaryCallback(SWGHttpRequestWorker * worker) { QString msg; QString error_str = worker->error_str; QNetworkReply::NetworkError error_type = worker->error_type; @@ -978,8 +1059,12 @@ SWGInstanceApi::instanceSummaryCallback(HttpRequestWorker * worker) { SWGInstanceSummaryResponse* output = static_cast<SWGInstanceSummaryResponse*>(create(json, QString("SWGInstanceSummaryResponse"))); worker->deleteLater(); - emit instanceSummarySignal(output); - emit instanceSummarySignalE(output, error_type, error_str); + if (worker->error_type == QNetworkReply::NoError) { + emit instanceSummarySignal(output); + } else { + emit instanceSummarySignalE(output, error_type, error_str); + emit instanceSummarySignalEFull(worker, error_type, error_str); + } } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h index f2afa5faa..43fc70af0 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h @@ -48,45 +48,45 @@ public: QMap<QString, QString> defaultHeaders; void instanceAudioGet(); - void instanceAudioPatch(SWGAudioDevicesSelect body); + void instanceAudioPatch(SWGAudioDevicesSelect& body); void instanceChannels(qint32 tx); void instanceDVSerialPatch(qint32 dvserial); void instanceDelete(); void instanceDeviceSetsGet(); void instanceDevices(qint32 tx); void instanceLocationGet(); - void instanceLocationPut(SWGLocationInformation body); + void instanceLocationPut(SWGLocationInformation& body); void instanceLoggingGet(); - void instanceLoggingPut(SWGLoggingInfo body); - void instancePresetDelete(SWGPresetIdentifier body); - void instancePresetFilePost(SWGPresetExport body); - void instancePresetFilePut(SWGPresetImport body); + void instanceLoggingPut(SWGLoggingInfo& body); + void instancePresetDelete(SWGPresetIdentifier& body); + void instancePresetFilePost(SWGPresetExport& body); + void instancePresetFilePut(SWGPresetImport& body); void instancePresetGet(); - void instancePresetPatch(SWGPresetTransfer body); - void instancePresetPost(SWGPresetTransfer body); - void instancePresetPut(SWGPresetTransfer body); + void instancePresetPatch(SWGPresetTransfer& body); + void instancePresetPost(SWGPresetTransfer& body); + void instancePresetPut(SWGPresetTransfer& body); void instanceSummary(); private: - void instanceAudioGetCallback (HttpRequestWorker * worker); - void instanceAudioPatchCallback (HttpRequestWorker * worker); - void instanceChannelsCallback (HttpRequestWorker * worker); - void instanceDVSerialPatchCallback (HttpRequestWorker * worker); - void instanceDeleteCallback (HttpRequestWorker * worker); - void instanceDeviceSetsGetCallback (HttpRequestWorker * worker); - void instanceDevicesCallback (HttpRequestWorker * worker); - void instanceLocationGetCallback (HttpRequestWorker * worker); - void instanceLocationPutCallback (HttpRequestWorker * worker); - void instanceLoggingGetCallback (HttpRequestWorker * worker); - void instanceLoggingPutCallback (HttpRequestWorker * worker); - void instancePresetDeleteCallback (HttpRequestWorker * worker); - void instancePresetFilePostCallback (HttpRequestWorker * worker); - void instancePresetFilePutCallback (HttpRequestWorker * worker); - void instancePresetGetCallback (HttpRequestWorker * worker); - void instancePresetPatchCallback (HttpRequestWorker * worker); - void instancePresetPostCallback (HttpRequestWorker * worker); - void instancePresetPutCallback (HttpRequestWorker * worker); - void instanceSummaryCallback (HttpRequestWorker * worker); + void instanceAudioGetCallback (SWGHttpRequestWorker * worker); + void instanceAudioPatchCallback (SWGHttpRequestWorker * worker); + void instanceChannelsCallback (SWGHttpRequestWorker * worker); + void instanceDVSerialPatchCallback (SWGHttpRequestWorker * worker); + void instanceDeleteCallback (SWGHttpRequestWorker * worker); + void instanceDeviceSetsGetCallback (SWGHttpRequestWorker * worker); + void instanceDevicesCallback (SWGHttpRequestWorker * worker); + void instanceLocationGetCallback (SWGHttpRequestWorker * worker); + void instanceLocationPutCallback (SWGHttpRequestWorker * worker); + void instanceLoggingGetCallback (SWGHttpRequestWorker * worker); + void instanceLoggingPutCallback (SWGHttpRequestWorker * worker); + void instancePresetDeleteCallback (SWGHttpRequestWorker * worker); + void instancePresetFilePostCallback (SWGHttpRequestWorker * worker); + void instancePresetFilePutCallback (SWGHttpRequestWorker * worker); + void instancePresetGetCallback (SWGHttpRequestWorker * worker); + void instancePresetPatchCallback (SWGHttpRequestWorker * worker); + void instancePresetPostCallback (SWGHttpRequestWorker * worker); + void instancePresetPutCallback (SWGHttpRequestWorker * worker); + void instanceSummaryCallback (SWGHttpRequestWorker * worker); signals: void instanceAudioGetSignal(SWGAudioDevices* summary); @@ -129,6 +129,26 @@ signals: void instancePresetPutSignalE(SWGPresetIdentifier* summary, QNetworkReply::NetworkError error_type, QString& error_str); void instanceSummarySignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceAudioGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceAudioPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceChannelsSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDVSerialPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDeviceSetsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceDevicesSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceLocationGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceLocationPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceLoggingGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceLoggingPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetFilePostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetFilePutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instancePresetPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + void instanceSummarySignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.cpp b/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.cpp index a044f14bb..5a179ca49 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGInstanceChannelsResponse::SWGInstanceChannelsResponse(QString* json) { +SWGInstanceChannelsResponse::SWGInstanceChannelsResponse(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGInstanceChannelsResponse::SWGInstanceChannelsResponse() { @@ -38,16 +38,17 @@ SWGInstanceChannelsResponse::~SWGInstanceChannelsResponse() { void SWGInstanceChannelsResponse::init() { channelcount = 0; + m_channelcount_isSet = false; channels = new QList<SWGChannelListItem*>(); + m_channels_isSet = false; } void SWGInstanceChannelsResponse::cleanup() { - - if(channels != nullptr) { - QList<SWGChannelListItem*>* arr = channels; - foreach(SWGChannelListItem* o, *arr) { + if(channels != nullptr) { + auto arr = channels; + for(auto o: *arr) { delete o; } delete channels; @@ -55,7 +56,7 @@ SWGInstanceChannelsResponse::cleanup() { } SWGInstanceChannelsResponse* -SWGInstanceChannelsResponse::fromJson(QString &json) { +SWGInstanceChannelsResponse::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -64,32 +65,31 @@ SWGInstanceChannelsResponse::fromJson(QString &json) { } void -SWGInstanceChannelsResponse::fromJsonObject(QJsonObject &pJson) { +SWGInstanceChannelsResponse::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&channelcount, pJson["channelcount"], "qint32", ""); - ::SWGSDRangel::setValue(&channels, pJson["channels"], "QList", "SWGChannelListItem"); + ::SWGSDRangel::setValue(&channels, pJson["channels"], "QList", "SWGChannelListItem"); } QString SWGInstanceChannelsResponse::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGInstanceChannelsResponse::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("channelcount", QJsonValue(channelcount)); - - QJsonArray channelsJsonArray; - toJsonArray((QList<void*>*)channels, &channelsJsonArray, "channels", "SWGChannelListItem"); - obj->insert("channels", channelsJsonArray); + QJsonObject obj; + if(m_channelcount_isSet){ + obj.insert("channelcount", QJsonValue(channelcount)); + } + if(channels->size() > 0){ + toJsonArray((QList<void*>*)channels, obj, "channels", "SWGChannelListItem"); + } return obj; } @@ -101,6 +101,7 @@ SWGInstanceChannelsResponse::getChannelcount() { void SWGInstanceChannelsResponse::setChannelcount(qint32 channelcount) { this->channelcount = channelcount; + this->m_channelcount_isSet = true; } QList<SWGChannelListItem*>* @@ -110,8 +111,18 @@ SWGInstanceChannelsResponse::getChannels() { void SWGInstanceChannelsResponse::setChannels(QList<SWGChannelListItem*>* channels) { this->channels = channels; + this->m_channels_isSet = true; } +bool +SWGInstanceChannelsResponse::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_channelcount_isSet){ isObjectUpdated = true; break;} + if(channels->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.h b/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.h index b51996dad..aa82cd4a4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.h +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceChannelsResponse.h @@ -12,7 +12,7 @@ /* * SWGInstanceChannelsResponse.h - * + * * Summarized information about channel plugins available in this SDRangel instance */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGInstanceChannelsResponse: public SWGObject { public: SWGInstanceChannelsResponse(); - SWGInstanceChannelsResponse(QString* json); - virtual ~SWGInstanceChannelsResponse(); + SWGInstanceChannelsResponse(QString json); + ~SWGInstanceChannelsResponse(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGInstanceChannelsResponse* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGInstanceChannelsResponse* fromJson(QString jsonString); qint32 getChannelcount(); void setChannelcount(qint32 channelcount); @@ -50,9 +49,15 @@ public: void setChannels(QList<SWGChannelListItem*>* channels); + virtual bool isSet() override; + private: qint32 channelcount; + bool m_channelcount_isSet; + QList<SWGChannelListItem*>* channels; + bool m_channels_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.cpp b/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.cpp index a3724c097..c93566b8b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGInstanceDevicesResponse::SWGInstanceDevicesResponse(QString* json) { +SWGInstanceDevicesResponse::SWGInstanceDevicesResponse(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGInstanceDevicesResponse::SWGInstanceDevicesResponse() { @@ -38,16 +38,17 @@ SWGInstanceDevicesResponse::~SWGInstanceDevicesResponse() { void SWGInstanceDevicesResponse::init() { devicecount = 0; + m_devicecount_isSet = false; devices = new QList<SWGDeviceListItem*>(); + m_devices_isSet = false; } void SWGInstanceDevicesResponse::cleanup() { - - if(devices != nullptr) { - QList<SWGDeviceListItem*>* arr = devices; - foreach(SWGDeviceListItem* o, *arr) { + if(devices != nullptr) { + auto arr = devices; + for(auto o: *arr) { delete o; } delete devices; @@ -55,7 +56,7 @@ SWGInstanceDevicesResponse::cleanup() { } SWGInstanceDevicesResponse* -SWGInstanceDevicesResponse::fromJson(QString &json) { +SWGInstanceDevicesResponse::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -64,32 +65,31 @@ SWGInstanceDevicesResponse::fromJson(QString &json) { } void -SWGInstanceDevicesResponse::fromJsonObject(QJsonObject &pJson) { +SWGInstanceDevicesResponse::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&devicecount, pJson["devicecount"], "qint32", ""); - ::SWGSDRangel::setValue(&devices, pJson["devices"], "QList", "SWGDeviceListItem"); + ::SWGSDRangel::setValue(&devices, pJson["devices"], "QList", "SWGDeviceListItem"); } QString SWGInstanceDevicesResponse::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGInstanceDevicesResponse::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("devicecount", QJsonValue(devicecount)); - - QJsonArray devicesJsonArray; - toJsonArray((QList<void*>*)devices, &devicesJsonArray, "devices", "SWGDeviceListItem"); - obj->insert("devices", devicesJsonArray); + QJsonObject obj; + if(m_devicecount_isSet){ + obj.insert("devicecount", QJsonValue(devicecount)); + } + if(devices->size() > 0){ + toJsonArray((QList<void*>*)devices, obj, "devices", "SWGDeviceListItem"); + } return obj; } @@ -101,6 +101,7 @@ SWGInstanceDevicesResponse::getDevicecount() { void SWGInstanceDevicesResponse::setDevicecount(qint32 devicecount) { this->devicecount = devicecount; + this->m_devicecount_isSet = true; } QList<SWGDeviceListItem*>* @@ -110,8 +111,18 @@ SWGInstanceDevicesResponse::getDevices() { void SWGInstanceDevicesResponse::setDevices(QList<SWGDeviceListItem*>* devices) { this->devices = devices; + this->m_devices_isSet = true; } +bool +SWGInstanceDevicesResponse::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_devicecount_isSet){ isObjectUpdated = true; break;} + if(devices->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.h b/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.h index 33c8f2dc1..55a0a421d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.h +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceDevicesResponse.h @@ -12,7 +12,7 @@ /* * SWGInstanceDevicesResponse.h - * + * * Summarized information about logical devices from hardware devices attached to this SDRangel instance */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGInstanceDevicesResponse: public SWGObject { public: SWGInstanceDevicesResponse(); - SWGInstanceDevicesResponse(QString* json); - virtual ~SWGInstanceDevicesResponse(); + SWGInstanceDevicesResponse(QString json); + ~SWGInstanceDevicesResponse(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGInstanceDevicesResponse* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGInstanceDevicesResponse* fromJson(QString jsonString); qint32 getDevicecount(); void setDevicecount(qint32 devicecount); @@ -50,9 +49,15 @@ public: void setDevices(QList<SWGDeviceListItem*>* devices); + virtual bool isSet() override; + private: qint32 devicecount; + bool m_devicecount_isSet; + QList<SWGDeviceListItem*>* devices; + bool m_devices_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.cpp b/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.cpp index 76af23bcb..49af2f604 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGInstanceSummaryResponse::SWGInstanceSummaryResponse(QString* json) { +SWGInstanceSummaryResponse::SWGInstanceSummaryResponse(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGInstanceSummaryResponse::SWGInstanceSummaryResponse() { @@ -38,54 +38,57 @@ SWGInstanceSummaryResponse::~SWGInstanceSummaryResponse() { void SWGInstanceSummaryResponse::init() { version = new QString(""); + m_version_isSet = false; qt_version = new QString(""); + m_qt_version_isSet = false; dsp_rx_bits = 0; + m_dsp_rx_bits_isSet = false; dsp_tx_bits = 0; + m_dsp_tx_bits_isSet = false; pid = 0; + m_pid_isSet = false; appname = new QString(""); + m_appname_isSet = false; architecture = new QString(""); + m_architecture_isSet = false; os = new QString(""); + m_os_isSet = false; logging = new SWGLoggingInfo(); + m_logging_isSet = false; devicesetlist = new SWGDeviceSetList(); + m_devicesetlist_isSet = false; } void SWGInstanceSummaryResponse::cleanup() { - - if(version != nullptr) { + if(version != nullptr) { delete version; } - - if(qt_version != nullptr) { + if(qt_version != nullptr) { delete qt_version; } - - if(appname != nullptr) { + if(appname != nullptr) { delete appname; } - - if(architecture != nullptr) { + if(architecture != nullptr) { delete architecture; } - - if(os != nullptr) { + if(os != nullptr) { delete os; } - - if(logging != nullptr) { + if(logging != nullptr) { delete logging; } - - if(devicesetlist != nullptr) { + if(devicesetlist != nullptr) { delete devicesetlist; } } SWGInstanceSummaryResponse* -SWGInstanceSummaryResponse::fromJson(QString &json) { +SWGInstanceSummaryResponse::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -94,52 +97,71 @@ SWGInstanceSummaryResponse::fromJson(QString &json) { } void -SWGInstanceSummaryResponse::fromJsonObject(QJsonObject &pJson) { +SWGInstanceSummaryResponse::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&version, pJson["version"], "QString", "QString"); + ::SWGSDRangel::setValue(&qt_version, pJson["qtVersion"], "QString", "QString"); + ::SWGSDRangel::setValue(&dsp_rx_bits, pJson["dspRxBits"], "qint32", ""); + ::SWGSDRangel::setValue(&dsp_tx_bits, pJson["dspTxBits"], "qint32", ""); + ::SWGSDRangel::setValue(&pid, pJson["pid"], "qint32", ""); + ::SWGSDRangel::setValue(&appname, pJson["appname"], "QString", "QString"); + ::SWGSDRangel::setValue(&architecture, pJson["architecture"], "QString", "QString"); + ::SWGSDRangel::setValue(&os, pJson["os"], "QString", "QString"); + ::SWGSDRangel::setValue(&logging, pJson["logging"], "SWGLoggingInfo", "SWGLoggingInfo"); + ::SWGSDRangel::setValue(&devicesetlist, pJson["devicesetlist"], "SWGDeviceSetList", "SWGDeviceSetList"); + } QString SWGInstanceSummaryResponse::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGInstanceSummaryResponse::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("version"), version, obj, QString("QString")); - - toJsonValue(QString("qtVersion"), qt_version, obj, QString("QString")); - - obj->insert("dspRxBits", QJsonValue(dsp_rx_bits)); - - obj->insert("dspTxBits", QJsonValue(dsp_tx_bits)); - - obj->insert("pid", QJsonValue(pid)); - - toJsonValue(QString("appname"), appname, obj, QString("QString")); - - toJsonValue(QString("architecture"), architecture, obj, QString("QString")); - - toJsonValue(QString("os"), os, obj, QString("QString")); - - toJsonValue(QString("logging"), logging, obj, QString("SWGLoggingInfo")); - - toJsonValue(QString("devicesetlist"), devicesetlist, obj, QString("SWGDeviceSetList")); + QJsonObject obj; + if(version != nullptr && *version != QString("")){ + toJsonValue(QString("version"), version, obj, QString("QString")); + } + if(qt_version != nullptr && *qt_version != QString("")){ + toJsonValue(QString("qtVersion"), qt_version, obj, QString("QString")); + } + if(m_dsp_rx_bits_isSet){ + obj.insert("dspRxBits", QJsonValue(dsp_rx_bits)); + } + if(m_dsp_tx_bits_isSet){ + obj.insert("dspTxBits", QJsonValue(dsp_tx_bits)); + } + if(m_pid_isSet){ + obj.insert("pid", QJsonValue(pid)); + } + if(appname != nullptr && *appname != QString("")){ + toJsonValue(QString("appname"), appname, obj, QString("QString")); + } + if(architecture != nullptr && *architecture != QString("")){ + toJsonValue(QString("architecture"), architecture, obj, QString("QString")); + } + if(os != nullptr && *os != QString("")){ + toJsonValue(QString("os"), os, obj, QString("QString")); + } + if((logging != nullptr) && (logging->isSet())){ + toJsonValue(QString("logging"), logging, obj, QString("SWGLoggingInfo")); + } + if((devicesetlist != nullptr) && (devicesetlist->isSet())){ + toJsonValue(QString("devicesetlist"), devicesetlist, obj, QString("SWGDeviceSetList")); + } return obj; } @@ -151,6 +173,7 @@ SWGInstanceSummaryResponse::getVersion() { void SWGInstanceSummaryResponse::setVersion(QString* version) { this->version = version; + this->m_version_isSet = true; } QString* @@ -160,6 +183,7 @@ SWGInstanceSummaryResponse::getQtVersion() { void SWGInstanceSummaryResponse::setQtVersion(QString* qt_version) { this->qt_version = qt_version; + this->m_qt_version_isSet = true; } qint32 @@ -169,6 +193,7 @@ SWGInstanceSummaryResponse::getDspRxBits() { void SWGInstanceSummaryResponse::setDspRxBits(qint32 dsp_rx_bits) { this->dsp_rx_bits = dsp_rx_bits; + this->m_dsp_rx_bits_isSet = true; } qint32 @@ -178,6 +203,7 @@ SWGInstanceSummaryResponse::getDspTxBits() { void SWGInstanceSummaryResponse::setDspTxBits(qint32 dsp_tx_bits) { this->dsp_tx_bits = dsp_tx_bits; + this->m_dsp_tx_bits_isSet = true; } qint32 @@ -187,6 +213,7 @@ SWGInstanceSummaryResponse::getPid() { void SWGInstanceSummaryResponse::setPid(qint32 pid) { this->pid = pid; + this->m_pid_isSet = true; } QString* @@ -196,6 +223,7 @@ SWGInstanceSummaryResponse::getAppname() { void SWGInstanceSummaryResponse::setAppname(QString* appname) { this->appname = appname; + this->m_appname_isSet = true; } QString* @@ -205,6 +233,7 @@ SWGInstanceSummaryResponse::getArchitecture() { void SWGInstanceSummaryResponse::setArchitecture(QString* architecture) { this->architecture = architecture; + this->m_architecture_isSet = true; } QString* @@ -214,6 +243,7 @@ SWGInstanceSummaryResponse::getOs() { void SWGInstanceSummaryResponse::setOs(QString* os) { this->os = os; + this->m_os_isSet = true; } SWGLoggingInfo* @@ -223,6 +253,7 @@ SWGInstanceSummaryResponse::getLogging() { void SWGInstanceSummaryResponse::setLogging(SWGLoggingInfo* logging) { this->logging = logging; + this->m_logging_isSet = true; } SWGDeviceSetList* @@ -232,8 +263,26 @@ SWGInstanceSummaryResponse::getDevicesetlist() { void SWGInstanceSummaryResponse::setDevicesetlist(SWGDeviceSetList* devicesetlist) { this->devicesetlist = devicesetlist; + this->m_devicesetlist_isSet = true; } +bool +SWGInstanceSummaryResponse::isSet(){ + bool isObjectUpdated = false; + do{ + if(version != nullptr && *version != QString("")){ isObjectUpdated = true; break;} + if(qt_version != nullptr && *qt_version != QString("")){ isObjectUpdated = true; break;} + if(m_dsp_rx_bits_isSet){ isObjectUpdated = true; break;} + if(m_dsp_tx_bits_isSet){ isObjectUpdated = true; break;} + if(m_pid_isSet){ isObjectUpdated = true; break;} + if(appname != nullptr && *appname != QString("")){ isObjectUpdated = true; break;} + if(architecture != nullptr && *architecture != QString("")){ isObjectUpdated = true; break;} + if(os != nullptr && *os != QString("")){ isObjectUpdated = true; break;} + if(logging != nullptr && logging->isSet()){ isObjectUpdated = true; break;} + if(devicesetlist != nullptr && devicesetlist->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.h b/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.h index 3fff4b4fb..c76e58219 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.h +++ b/swagger/sdrangel/code/qt5/client/SWGInstanceSummaryResponse.h @@ -12,7 +12,7 @@ /* * SWGInstanceSummaryResponse.h - * + * * Summarized information about this SDRangel instance */ @@ -28,21 +28,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGInstanceSummaryResponse: public SWGObject { public: SWGInstanceSummaryResponse(); - SWGInstanceSummaryResponse(QString* json); - virtual ~SWGInstanceSummaryResponse(); + SWGInstanceSummaryResponse(QString json); + ~SWGInstanceSummaryResponse(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGInstanceSummaryResponse* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGInstanceSummaryResponse* fromJson(QString jsonString); QString* getVersion(); void setVersion(QString* version); @@ -75,17 +74,39 @@ public: void setDevicesetlist(SWGDeviceSetList* devicesetlist); + virtual bool isSet() override; + private: QString* version; + bool m_version_isSet; + QString* qt_version; + bool m_qt_version_isSet; + qint32 dsp_rx_bits; + bool m_dsp_rx_bits_isSet; + qint32 dsp_tx_bits; + bool m_dsp_tx_bits_isSet; + qint32 pid; + bool m_pid_isSet; + QString* appname; + bool m_appname_isSet; + QString* architecture; + bool m_architecture_isSet; + QString* os; + bool m_os_isSet; + SWGLoggingInfo* logging; + bool m_logging_isSet; + SWGDeviceSetList* devicesetlist; + bool m_devicesetlist_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp index 91dc2d0f0..57dad7267 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGLimeSdrInputSettings::SWGLimeSdrInputSettings(QString* json) { +SWGLimeSdrInputSettings::SWGLimeSdrInputSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGLimeSdrInputSettings::SWGLimeSdrInputSettings() { @@ -38,29 +38,48 @@ SWGLimeSdrInputSettings::~SWGLimeSdrInputSettings() { void SWGLimeSdrInputSettings::init() { center_frequency = 0L; + m_center_frequency_isSet = false; dev_sample_rate = 0; + m_dev_sample_rate_isSet = false; log2_hard_decim = 0; + m_log2_hard_decim_isSet = false; dc_block = 0; + m_dc_block_isSet = false; iq_correction = 0; + m_iq_correction_isSet = false; log2_soft_decim = 0; + m_log2_soft_decim_isSet = false; lpf_bw = 0; + m_lpf_bw_isSet = false; lpf_fir_enable = 0; + m_lpf_fir_enable_isSet = false; lpf_firbw = 0; + m_lpf_firbw_isSet = false; gain = 0; + m_gain_isSet = false; nco_enable = 0; + m_nco_enable_isSet = false; nco_frequency = 0; + m_nco_frequency_isSet = false; antenna_path = 0; + m_antenna_path_isSet = false; gain_mode = 0; + m_gain_mode_isSet = false; lna_gain = 0; + m_lna_gain_isSet = false; tia_gain = 0; + m_tia_gain_isSet = false; pga_gain = 0; + m_pga_gain_isSet = false; ext_clock = 0; + m_ext_clock_isSet = false; ext_clock_freq = 0; + m_ext_clock_freq_isSet = false; } void SWGLimeSdrInputSettings::cleanup() { - + @@ -82,7 +101,7 @@ SWGLimeSdrInputSettings::cleanup() { } SWGLimeSdrInputSettings* -SWGLimeSdrInputSettings::fromJson(QString &json) { +SWGLimeSdrInputSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -91,79 +110,116 @@ SWGLimeSdrInputSettings::fromJson(QString &json) { } void -SWGLimeSdrInputSettings::fromJsonObject(QJsonObject &pJson) { +SWGLimeSdrInputSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_hard_decim, pJson["log2HardDecim"], "qint32", ""); + ::SWGSDRangel::setValue(&dc_block, pJson["dcBlock"], "qint32", ""); + ::SWGSDRangel::setValue(&iq_correction, pJson["iqCorrection"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_soft_decim, pJson["log2SoftDecim"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_bw, pJson["lpfBW"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_fir_enable, pJson["lpfFIREnable"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_firbw, pJson["lpfFIRBW"], "qint32", ""); + ::SWGSDRangel::setValue(&gain, pJson["gain"], "qint32", ""); + ::SWGSDRangel::setValue(&nco_enable, pJson["ncoEnable"], "qint32", ""); + ::SWGSDRangel::setValue(&nco_frequency, pJson["ncoFrequency"], "qint32", ""); + ::SWGSDRangel::setValue(&antenna_path, pJson["antennaPath"], "qint32", ""); + ::SWGSDRangel::setValue(&gain_mode, pJson["gainMode"], "qint32", ""); + ::SWGSDRangel::setValue(&lna_gain, pJson["lnaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&tia_gain, pJson["tiaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&pga_gain, pJson["pgaGain"], "qint32", ""); + ::SWGSDRangel::setValue(&ext_clock, pJson["extClock"], "qint32", ""); + ::SWGSDRangel::setValue(&ext_clock_freq, pJson["extClockFreq"], "qint32", ""); + } QString SWGLimeSdrInputSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGLimeSdrInputSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); - - obj->insert("log2HardDecim", QJsonValue(log2_hard_decim)); - - obj->insert("dcBlock", QJsonValue(dc_block)); - - obj->insert("iqCorrection", QJsonValue(iq_correction)); - - obj->insert("log2SoftDecim", QJsonValue(log2_soft_decim)); - - obj->insert("lpfBW", QJsonValue(lpf_bw)); - - obj->insert("lpfFIREnable", QJsonValue(lpf_fir_enable)); - - obj->insert("lpfFIRBW", QJsonValue(lpf_firbw)); - - obj->insert("gain", QJsonValue(gain)); - - obj->insert("ncoEnable", QJsonValue(nco_enable)); - - obj->insert("ncoFrequency", QJsonValue(nco_frequency)); - - obj->insert("antennaPath", QJsonValue(antenna_path)); - - obj->insert("gainMode", QJsonValue(gain_mode)); - - obj->insert("lnaGain", QJsonValue(lna_gain)); - - obj->insert("tiaGain", QJsonValue(tia_gain)); - - obj->insert("pgaGain", QJsonValue(pga_gain)); - - obj->insert("extClock", QJsonValue(ext_clock)); - - obj->insert("extClockFreq", QJsonValue(ext_clock_freq)); + QJsonObject obj; + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_dev_sample_rate_isSet){ + obj.insert("devSampleRate", QJsonValue(dev_sample_rate)); + } + if(m_log2_hard_decim_isSet){ + obj.insert("log2HardDecim", QJsonValue(log2_hard_decim)); + } + if(m_dc_block_isSet){ + obj.insert("dcBlock", QJsonValue(dc_block)); + } + if(m_iq_correction_isSet){ + obj.insert("iqCorrection", QJsonValue(iq_correction)); + } + if(m_log2_soft_decim_isSet){ + obj.insert("log2SoftDecim", QJsonValue(log2_soft_decim)); + } + if(m_lpf_bw_isSet){ + obj.insert("lpfBW", QJsonValue(lpf_bw)); + } + if(m_lpf_fir_enable_isSet){ + obj.insert("lpfFIREnable", QJsonValue(lpf_fir_enable)); + } + if(m_lpf_firbw_isSet){ + obj.insert("lpfFIRBW", QJsonValue(lpf_firbw)); + } + if(m_gain_isSet){ + obj.insert("gain", QJsonValue(gain)); + } + if(m_nco_enable_isSet){ + obj.insert("ncoEnable", QJsonValue(nco_enable)); + } + if(m_nco_frequency_isSet){ + obj.insert("ncoFrequency", QJsonValue(nco_frequency)); + } + if(m_antenna_path_isSet){ + obj.insert("antennaPath", QJsonValue(antenna_path)); + } + if(m_gain_mode_isSet){ + obj.insert("gainMode", QJsonValue(gain_mode)); + } + if(m_lna_gain_isSet){ + obj.insert("lnaGain", QJsonValue(lna_gain)); + } + if(m_tia_gain_isSet){ + obj.insert("tiaGain", QJsonValue(tia_gain)); + } + if(m_pga_gain_isSet){ + obj.insert("pgaGain", QJsonValue(pga_gain)); + } + if(m_ext_clock_isSet){ + obj.insert("extClock", QJsonValue(ext_clock)); + } + if(m_ext_clock_freq_isSet){ + obj.insert("extClockFreq", QJsonValue(ext_clock_freq)); + } return obj; } @@ -175,6 +231,7 @@ SWGLimeSdrInputSettings::getCenterFrequency() { void SWGLimeSdrInputSettings::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -184,6 +241,7 @@ SWGLimeSdrInputSettings::getDevSampleRate() { void SWGLimeSdrInputSettings::setDevSampleRate(qint32 dev_sample_rate) { this->dev_sample_rate = dev_sample_rate; + this->m_dev_sample_rate_isSet = true; } qint32 @@ -193,6 +251,7 @@ SWGLimeSdrInputSettings::getLog2HardDecim() { void SWGLimeSdrInputSettings::setLog2HardDecim(qint32 log2_hard_decim) { this->log2_hard_decim = log2_hard_decim; + this->m_log2_hard_decim_isSet = true; } qint32 @@ -202,6 +261,7 @@ SWGLimeSdrInputSettings::getDcBlock() { void SWGLimeSdrInputSettings::setDcBlock(qint32 dc_block) { this->dc_block = dc_block; + this->m_dc_block_isSet = true; } qint32 @@ -211,6 +271,7 @@ SWGLimeSdrInputSettings::getIqCorrection() { void SWGLimeSdrInputSettings::setIqCorrection(qint32 iq_correction) { this->iq_correction = iq_correction; + this->m_iq_correction_isSet = true; } qint32 @@ -220,6 +281,7 @@ SWGLimeSdrInputSettings::getLog2SoftDecim() { void SWGLimeSdrInputSettings::setLog2SoftDecim(qint32 log2_soft_decim) { this->log2_soft_decim = log2_soft_decim; + this->m_log2_soft_decim_isSet = true; } qint32 @@ -229,6 +291,7 @@ SWGLimeSdrInputSettings::getLpfBw() { void SWGLimeSdrInputSettings::setLpfBw(qint32 lpf_bw) { this->lpf_bw = lpf_bw; + this->m_lpf_bw_isSet = true; } qint32 @@ -238,6 +301,7 @@ SWGLimeSdrInputSettings::getLpfFirEnable() { void SWGLimeSdrInputSettings::setLpfFirEnable(qint32 lpf_fir_enable) { this->lpf_fir_enable = lpf_fir_enable; + this->m_lpf_fir_enable_isSet = true; } qint32 @@ -247,6 +311,7 @@ SWGLimeSdrInputSettings::getLpfFirbw() { void SWGLimeSdrInputSettings::setLpfFirbw(qint32 lpf_firbw) { this->lpf_firbw = lpf_firbw; + this->m_lpf_firbw_isSet = true; } qint32 @@ -256,6 +321,7 @@ SWGLimeSdrInputSettings::getGain() { void SWGLimeSdrInputSettings::setGain(qint32 gain) { this->gain = gain; + this->m_gain_isSet = true; } qint32 @@ -265,6 +331,7 @@ SWGLimeSdrInputSettings::getNcoEnable() { void SWGLimeSdrInputSettings::setNcoEnable(qint32 nco_enable) { this->nco_enable = nco_enable; + this->m_nco_enable_isSet = true; } qint32 @@ -274,6 +341,7 @@ SWGLimeSdrInputSettings::getNcoFrequency() { void SWGLimeSdrInputSettings::setNcoFrequency(qint32 nco_frequency) { this->nco_frequency = nco_frequency; + this->m_nco_frequency_isSet = true; } qint32 @@ -283,6 +351,7 @@ SWGLimeSdrInputSettings::getAntennaPath() { void SWGLimeSdrInputSettings::setAntennaPath(qint32 antenna_path) { this->antenna_path = antenna_path; + this->m_antenna_path_isSet = true; } qint32 @@ -292,6 +361,7 @@ SWGLimeSdrInputSettings::getGainMode() { void SWGLimeSdrInputSettings::setGainMode(qint32 gain_mode) { this->gain_mode = gain_mode; + this->m_gain_mode_isSet = true; } qint32 @@ -301,6 +371,7 @@ SWGLimeSdrInputSettings::getLnaGain() { void SWGLimeSdrInputSettings::setLnaGain(qint32 lna_gain) { this->lna_gain = lna_gain; + this->m_lna_gain_isSet = true; } qint32 @@ -310,6 +381,7 @@ SWGLimeSdrInputSettings::getTiaGain() { void SWGLimeSdrInputSettings::setTiaGain(qint32 tia_gain) { this->tia_gain = tia_gain; + this->m_tia_gain_isSet = true; } qint32 @@ -319,6 +391,7 @@ SWGLimeSdrInputSettings::getPgaGain() { void SWGLimeSdrInputSettings::setPgaGain(qint32 pga_gain) { this->pga_gain = pga_gain; + this->m_pga_gain_isSet = true; } qint32 @@ -328,6 +401,7 @@ SWGLimeSdrInputSettings::getExtClock() { void SWGLimeSdrInputSettings::setExtClock(qint32 ext_clock) { this->ext_clock = ext_clock; + this->m_ext_clock_isSet = true; } qint32 @@ -337,8 +411,35 @@ SWGLimeSdrInputSettings::getExtClockFreq() { void SWGLimeSdrInputSettings::setExtClockFreq(qint32 ext_clock_freq) { this->ext_clock_freq = ext_clock_freq; + this->m_ext_clock_freq_isSet = true; } +bool +SWGLimeSdrInputSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_log2_hard_decim_isSet){ isObjectUpdated = true; break;} + if(m_dc_block_isSet){ isObjectUpdated = true; break;} + if(m_iq_correction_isSet){ isObjectUpdated = true; break;} + if(m_log2_soft_decim_isSet){ isObjectUpdated = true; break;} + if(m_lpf_bw_isSet){ isObjectUpdated = true; break;} + if(m_lpf_fir_enable_isSet){ isObjectUpdated = true; break;} + if(m_lpf_firbw_isSet){ isObjectUpdated = true; break;} + if(m_gain_isSet){ isObjectUpdated = true; break;} + if(m_nco_enable_isSet){ isObjectUpdated = true; break;} + if(m_nco_frequency_isSet){ isObjectUpdated = true; break;} + if(m_antenna_path_isSet){ isObjectUpdated = true; break;} + if(m_gain_mode_isSet){ isObjectUpdated = true; break;} + if(m_lna_gain_isSet){ isObjectUpdated = true; break;} + if(m_tia_gain_isSet){ isObjectUpdated = true; break;} + if(m_pga_gain_isSet){ isObjectUpdated = true; break;} + if(m_ext_clock_isSet){ isObjectUpdated = true; break;} + if(m_ext_clock_freq_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h index 03d5e485a..aac957d09 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h @@ -12,7 +12,7 @@ /* * SWGLimeSdrInputSettings.h - * + * * LimeSDR */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGLimeSdrInputSettings: public SWGObject { public: SWGLimeSdrInputSettings(); - SWGLimeSdrInputSettings(QString* json); - virtual ~SWGLimeSdrInputSettings(); + SWGLimeSdrInputSettings(QString json); + ~SWGLimeSdrInputSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGLimeSdrInputSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGLimeSdrInputSettings* fromJson(QString jsonString); qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -99,26 +98,66 @@ public: void setExtClockFreq(qint32 ext_clock_freq); + virtual bool isSet() override; + private: qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 dev_sample_rate; + bool m_dev_sample_rate_isSet; + qint32 log2_hard_decim; + bool m_log2_hard_decim_isSet; + qint32 dc_block; + bool m_dc_block_isSet; + qint32 iq_correction; + bool m_iq_correction_isSet; + qint32 log2_soft_decim; + bool m_log2_soft_decim_isSet; + qint32 lpf_bw; + bool m_lpf_bw_isSet; + qint32 lpf_fir_enable; + bool m_lpf_fir_enable_isSet; + qint32 lpf_firbw; + bool m_lpf_firbw_isSet; + qint32 gain; + bool m_gain_isSet; + qint32 nco_enable; + bool m_nco_enable_isSet; + qint32 nco_frequency; + bool m_nco_frequency_isSet; + qint32 antenna_path; + bool m_antenna_path_isSet; + qint32 gain_mode; + bool m_gain_mode_isSet; + qint32 lna_gain; + bool m_lna_gain_isSet; + qint32 tia_gain; + bool m_tia_gain_isSet; + qint32 pga_gain; + bool m_pga_gain_isSet; + qint32 ext_clock; + bool m_ext_clock_isSet; + qint32 ext_clock_freq; + bool m_ext_clock_freq_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp index ec1275203..05cf8a611 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGLimeSdrOutputSettings::SWGLimeSdrOutputSettings(QString* json) { +SWGLimeSdrOutputSettings::SWGLimeSdrOutputSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGLimeSdrOutputSettings::SWGLimeSdrOutputSettings() { @@ -38,23 +38,36 @@ SWGLimeSdrOutputSettings::~SWGLimeSdrOutputSettings() { void SWGLimeSdrOutputSettings::init() { center_frequency = 0L; + m_center_frequency_isSet = false; dev_sample_rate = 0; + m_dev_sample_rate_isSet = false; log2_hard_interp = 0; + m_log2_hard_interp_isSet = false; log2_soft_interp = 0; + m_log2_soft_interp_isSet = false; lpf_bw = 0; + m_lpf_bw_isSet = false; lpf_fir_enable = 0; + m_lpf_fir_enable_isSet = false; lpf_firbw = 0; + m_lpf_firbw_isSet = false; gain = 0; + m_gain_isSet = false; nco_enable = 0; + m_nco_enable_isSet = false; nco_frequency = 0; + m_nco_frequency_isSet = false; antenna_path = 0; + m_antenna_path_isSet = false; ext_clock = 0; + m_ext_clock_isSet = false; ext_clock_freq = 0; + m_ext_clock_freq_isSet = false; } void SWGLimeSdrOutputSettings::cleanup() { - + @@ -70,7 +83,7 @@ SWGLimeSdrOutputSettings::cleanup() { } SWGLimeSdrOutputSettings* -SWGLimeSdrOutputSettings::fromJson(QString &json) { +SWGLimeSdrOutputSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -79,61 +92,86 @@ SWGLimeSdrOutputSettings::fromJson(QString &json) { } void -SWGLimeSdrOutputSettings::fromJsonObject(QJsonObject &pJson) { +SWGLimeSdrOutputSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_hard_interp, pJson["log2HardInterp"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_soft_interp, pJson["log2SoftInterp"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_bw, pJson["lpfBW"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_fir_enable, pJson["lpfFIREnable"], "qint32", ""); + ::SWGSDRangel::setValue(&lpf_firbw, pJson["lpfFIRBW"], "qint32", ""); + ::SWGSDRangel::setValue(&gain, pJson["gain"], "qint32", ""); + ::SWGSDRangel::setValue(&nco_enable, pJson["ncoEnable"], "qint32", ""); + ::SWGSDRangel::setValue(&nco_frequency, pJson["ncoFrequency"], "qint32", ""); + ::SWGSDRangel::setValue(&antenna_path, pJson["antennaPath"], "qint32", ""); + ::SWGSDRangel::setValue(&ext_clock, pJson["extClock"], "qint32", ""); + ::SWGSDRangel::setValue(&ext_clock_freq, pJson["extClockFreq"], "qint32", ""); + } QString SWGLimeSdrOutputSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGLimeSdrOutputSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); - - obj->insert("log2HardInterp", QJsonValue(log2_hard_interp)); - - obj->insert("log2SoftInterp", QJsonValue(log2_soft_interp)); - - obj->insert("lpfBW", QJsonValue(lpf_bw)); - - obj->insert("lpfFIREnable", QJsonValue(lpf_fir_enable)); - - obj->insert("lpfFIRBW", QJsonValue(lpf_firbw)); - - obj->insert("gain", QJsonValue(gain)); - - obj->insert("ncoEnable", QJsonValue(nco_enable)); - - obj->insert("ncoFrequency", QJsonValue(nco_frequency)); - - obj->insert("antennaPath", QJsonValue(antenna_path)); - - obj->insert("extClock", QJsonValue(ext_clock)); - - obj->insert("extClockFreq", QJsonValue(ext_clock_freq)); + QJsonObject obj; + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_dev_sample_rate_isSet){ + obj.insert("devSampleRate", QJsonValue(dev_sample_rate)); + } + if(m_log2_hard_interp_isSet){ + obj.insert("log2HardInterp", QJsonValue(log2_hard_interp)); + } + if(m_log2_soft_interp_isSet){ + obj.insert("log2SoftInterp", QJsonValue(log2_soft_interp)); + } + if(m_lpf_bw_isSet){ + obj.insert("lpfBW", QJsonValue(lpf_bw)); + } + if(m_lpf_fir_enable_isSet){ + obj.insert("lpfFIREnable", QJsonValue(lpf_fir_enable)); + } + if(m_lpf_firbw_isSet){ + obj.insert("lpfFIRBW", QJsonValue(lpf_firbw)); + } + if(m_gain_isSet){ + obj.insert("gain", QJsonValue(gain)); + } + if(m_nco_enable_isSet){ + obj.insert("ncoEnable", QJsonValue(nco_enable)); + } + if(m_nco_frequency_isSet){ + obj.insert("ncoFrequency", QJsonValue(nco_frequency)); + } + if(m_antenna_path_isSet){ + obj.insert("antennaPath", QJsonValue(antenna_path)); + } + if(m_ext_clock_isSet){ + obj.insert("extClock", QJsonValue(ext_clock)); + } + if(m_ext_clock_freq_isSet){ + obj.insert("extClockFreq", QJsonValue(ext_clock_freq)); + } return obj; } @@ -145,6 +183,7 @@ SWGLimeSdrOutputSettings::getCenterFrequency() { void SWGLimeSdrOutputSettings::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -154,6 +193,7 @@ SWGLimeSdrOutputSettings::getDevSampleRate() { void SWGLimeSdrOutputSettings::setDevSampleRate(qint32 dev_sample_rate) { this->dev_sample_rate = dev_sample_rate; + this->m_dev_sample_rate_isSet = true; } qint32 @@ -163,6 +203,7 @@ SWGLimeSdrOutputSettings::getLog2HardInterp() { void SWGLimeSdrOutputSettings::setLog2HardInterp(qint32 log2_hard_interp) { this->log2_hard_interp = log2_hard_interp; + this->m_log2_hard_interp_isSet = true; } qint32 @@ -172,6 +213,7 @@ SWGLimeSdrOutputSettings::getLog2SoftInterp() { void SWGLimeSdrOutputSettings::setLog2SoftInterp(qint32 log2_soft_interp) { this->log2_soft_interp = log2_soft_interp; + this->m_log2_soft_interp_isSet = true; } qint32 @@ -181,6 +223,7 @@ SWGLimeSdrOutputSettings::getLpfBw() { void SWGLimeSdrOutputSettings::setLpfBw(qint32 lpf_bw) { this->lpf_bw = lpf_bw; + this->m_lpf_bw_isSet = true; } qint32 @@ -190,6 +233,7 @@ SWGLimeSdrOutputSettings::getLpfFirEnable() { void SWGLimeSdrOutputSettings::setLpfFirEnable(qint32 lpf_fir_enable) { this->lpf_fir_enable = lpf_fir_enable; + this->m_lpf_fir_enable_isSet = true; } qint32 @@ -199,6 +243,7 @@ SWGLimeSdrOutputSettings::getLpfFirbw() { void SWGLimeSdrOutputSettings::setLpfFirbw(qint32 lpf_firbw) { this->lpf_firbw = lpf_firbw; + this->m_lpf_firbw_isSet = true; } qint32 @@ -208,6 +253,7 @@ SWGLimeSdrOutputSettings::getGain() { void SWGLimeSdrOutputSettings::setGain(qint32 gain) { this->gain = gain; + this->m_gain_isSet = true; } qint32 @@ -217,6 +263,7 @@ SWGLimeSdrOutputSettings::getNcoEnable() { void SWGLimeSdrOutputSettings::setNcoEnable(qint32 nco_enable) { this->nco_enable = nco_enable; + this->m_nco_enable_isSet = true; } qint32 @@ -226,6 +273,7 @@ SWGLimeSdrOutputSettings::getNcoFrequency() { void SWGLimeSdrOutputSettings::setNcoFrequency(qint32 nco_frequency) { this->nco_frequency = nco_frequency; + this->m_nco_frequency_isSet = true; } qint32 @@ -235,6 +283,7 @@ SWGLimeSdrOutputSettings::getAntennaPath() { void SWGLimeSdrOutputSettings::setAntennaPath(qint32 antenna_path) { this->antenna_path = antenna_path; + this->m_antenna_path_isSet = true; } qint32 @@ -244,6 +293,7 @@ SWGLimeSdrOutputSettings::getExtClock() { void SWGLimeSdrOutputSettings::setExtClock(qint32 ext_clock) { this->ext_clock = ext_clock; + this->m_ext_clock_isSet = true; } qint32 @@ -253,8 +303,29 @@ SWGLimeSdrOutputSettings::getExtClockFreq() { void SWGLimeSdrOutputSettings::setExtClockFreq(qint32 ext_clock_freq) { this->ext_clock_freq = ext_clock_freq; + this->m_ext_clock_freq_isSet = true; } +bool +SWGLimeSdrOutputSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_log2_hard_interp_isSet){ isObjectUpdated = true; break;} + if(m_log2_soft_interp_isSet){ isObjectUpdated = true; break;} + if(m_lpf_bw_isSet){ isObjectUpdated = true; break;} + if(m_lpf_fir_enable_isSet){ isObjectUpdated = true; break;} + if(m_lpf_firbw_isSet){ isObjectUpdated = true; break;} + if(m_gain_isSet){ isObjectUpdated = true; break;} + if(m_nco_enable_isSet){ isObjectUpdated = true; break;} + if(m_nco_frequency_isSet){ isObjectUpdated = true; break;} + if(m_antenna_path_isSet){ isObjectUpdated = true; break;} + if(m_ext_clock_isSet){ isObjectUpdated = true; break;} + if(m_ext_clock_freq_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h index d15907967..7d76caf87 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h @@ -12,7 +12,7 @@ /* * SWGLimeSdrOutputSettings.h - * + * * LimeSDR */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGLimeSdrOutputSettings: public SWGObject { public: SWGLimeSdrOutputSettings(); - SWGLimeSdrOutputSettings(QString* json); - virtual ~SWGLimeSdrOutputSettings(); + SWGLimeSdrOutputSettings(QString json); + ~SWGLimeSdrOutputSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGLimeSdrOutputSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGLimeSdrOutputSettings* fromJson(QString jsonString); qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -81,20 +80,48 @@ public: void setExtClockFreq(qint32 ext_clock_freq); + virtual bool isSet() override; + private: qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 dev_sample_rate; + bool m_dev_sample_rate_isSet; + qint32 log2_hard_interp; + bool m_log2_hard_interp_isSet; + qint32 log2_soft_interp; + bool m_log2_soft_interp_isSet; + qint32 lpf_bw; + bool m_lpf_bw_isSet; + qint32 lpf_fir_enable; + bool m_lpf_fir_enable_isSet; + qint32 lpf_firbw; + bool m_lpf_firbw_isSet; + qint32 gain; + bool m_gain_isSet; + qint32 nco_enable; + bool m_nco_enable_isSet; + qint32 nco_frequency; + bool m_nco_frequency_isSet; + qint32 antenna_path; + bool m_antenna_path_isSet; + qint32 ext_clock; + bool m_ext_clock_isSet; + qint32 ext_clock_freq; + bool m_ext_clock_freq_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLocationInformation.cpp b/swagger/sdrangel/code/qt5/client/SWGLocationInformation.cpp index 7d65a96aa..37eac3dd2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocationInformation.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLocationInformation.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGLocationInformation::SWGLocationInformation(QString* json) { +SWGLocationInformation::SWGLocationInformation(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGLocationInformation::SWGLocationInformation() { @@ -38,17 +38,19 @@ SWGLocationInformation::~SWGLocationInformation() { void SWGLocationInformation::init() { latitude = 0.0f; + m_latitude_isSet = false; longitude = 0.0f; + m_longitude_isSet = false; } void SWGLocationInformation::cleanup() { - + } SWGLocationInformation* -SWGLocationInformation::fromJson(QString &json) { +SWGLocationInformation::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -57,28 +59,31 @@ SWGLocationInformation::fromJson(QString &json) { } void -SWGLocationInformation::fromJsonObject(QJsonObject &pJson) { +SWGLocationInformation::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&latitude, pJson["latitude"], "float", ""); + ::SWGSDRangel::setValue(&longitude, pJson["longitude"], "float", ""); + } QString SWGLocationInformation::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGLocationInformation::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("latitude", QJsonValue(latitude)); - - obj->insert("longitude", QJsonValue(longitude)); + QJsonObject obj; + if(m_latitude_isSet){ + obj.insert("latitude", QJsonValue(latitude)); + } + if(m_longitude_isSet){ + obj.insert("longitude", QJsonValue(longitude)); + } return obj; } @@ -90,6 +95,7 @@ SWGLocationInformation::getLatitude() { void SWGLocationInformation::setLatitude(float latitude) { this->latitude = latitude; + this->m_latitude_isSet = true; } float @@ -99,8 +105,18 @@ SWGLocationInformation::getLongitude() { void SWGLocationInformation::setLongitude(float longitude) { this->longitude = longitude; + this->m_longitude_isSet = true; } +bool +SWGLocationInformation::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_latitude_isSet){ isObjectUpdated = true; break;} + if(m_longitude_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGLocationInformation.h b/swagger/sdrangel/code/qt5/client/SWGLocationInformation.h index 83347a9cd..c30f84532 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocationInformation.h +++ b/swagger/sdrangel/code/qt5/client/SWGLocationInformation.h @@ -12,7 +12,7 @@ /* * SWGLocationInformation.h - * + * * Instance geolocation information */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGLocationInformation: public SWGObject { public: SWGLocationInformation(); - SWGLocationInformation(QString* json); - virtual ~SWGLocationInformation(); + SWGLocationInformation(QString json); + ~SWGLocationInformation(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGLocationInformation* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGLocationInformation* fromJson(QString jsonString); float getLatitude(); void setLatitude(float latitude); @@ -48,9 +47,15 @@ public: void setLongitude(float longitude); + virtual bool isSet() override; + private: float latitude; + bool m_latitude_isSet; + float longitude; + bool m_longitude_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.cpp b/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.cpp index e581e53da..349b028da 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGLoggingInfo::SWGLoggingInfo(QString* json) { +SWGLoggingInfo::SWGLoggingInfo(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGLoggingInfo::SWGLoggingInfo() { @@ -38,30 +38,31 @@ SWGLoggingInfo::~SWGLoggingInfo() { void SWGLoggingInfo::init() { console_level = new QString(""); + m_console_level_isSet = false; file_level = new QString(""); + m_file_level_isSet = false; dump_to_file = 0; + m_dump_to_file_isSet = false; file_name = new QString(""); + m_file_name_isSet = false; } void SWGLoggingInfo::cleanup() { - - if(console_level != nullptr) { + if(console_level != nullptr) { delete console_level; } - - if(file_level != nullptr) { + if(file_level != nullptr) { delete file_level; } - - if(file_name != nullptr) { + if(file_name != nullptr) { delete file_name; } } SWGLoggingInfo* -SWGLoggingInfo::fromJson(QString &json) { +SWGLoggingInfo::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -70,34 +71,41 @@ SWGLoggingInfo::fromJson(QString &json) { } void -SWGLoggingInfo::fromJsonObject(QJsonObject &pJson) { +SWGLoggingInfo::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&console_level, pJson["consoleLevel"], "QString", "QString"); + ::SWGSDRangel::setValue(&file_level, pJson["fileLevel"], "QString", "QString"); + ::SWGSDRangel::setValue(&dump_to_file, pJson["dumpToFile"], "qint32", ""); + ::SWGSDRangel::setValue(&file_name, pJson["fileName"], "QString", "QString"); + } QString SWGLoggingInfo::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGLoggingInfo::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("consoleLevel"), console_level, obj, QString("QString")); - - toJsonValue(QString("fileLevel"), file_level, obj, QString("QString")); - - obj->insert("dumpToFile", QJsonValue(dump_to_file)); - - toJsonValue(QString("fileName"), file_name, obj, QString("QString")); + QJsonObject obj; + if(console_level != nullptr && *console_level != QString("")){ + toJsonValue(QString("consoleLevel"), console_level, obj, QString("QString")); + } + if(file_level != nullptr && *file_level != QString("")){ + toJsonValue(QString("fileLevel"), file_level, obj, QString("QString")); + } + if(m_dump_to_file_isSet){ + obj.insert("dumpToFile", QJsonValue(dump_to_file)); + } + if(file_name != nullptr && *file_name != QString("")){ + toJsonValue(QString("fileName"), file_name, obj, QString("QString")); + } return obj; } @@ -109,6 +117,7 @@ SWGLoggingInfo::getConsoleLevel() { void SWGLoggingInfo::setConsoleLevel(QString* console_level) { this->console_level = console_level; + this->m_console_level_isSet = true; } QString* @@ -118,6 +127,7 @@ SWGLoggingInfo::getFileLevel() { void SWGLoggingInfo::setFileLevel(QString* file_level) { this->file_level = file_level; + this->m_file_level_isSet = true; } qint32 @@ -127,6 +137,7 @@ SWGLoggingInfo::getDumpToFile() { void SWGLoggingInfo::setDumpToFile(qint32 dump_to_file) { this->dump_to_file = dump_to_file; + this->m_dump_to_file_isSet = true; } QString* @@ -136,8 +147,20 @@ SWGLoggingInfo::getFileName() { void SWGLoggingInfo::setFileName(QString* file_name) { this->file_name = file_name; + this->m_file_name_isSet = true; } +bool +SWGLoggingInfo::isSet(){ + bool isObjectUpdated = false; + do{ + if(console_level != nullptr && *console_level != QString("")){ isObjectUpdated = true; break;} + if(file_level != nullptr && *file_level != QString("")){ isObjectUpdated = true; break;} + if(m_dump_to_file_isSet){ isObjectUpdated = true; break;} + if(file_name != nullptr && *file_name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.h b/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.h index 70552ff2f..30f4b2f38 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.h +++ b/swagger/sdrangel/code/qt5/client/SWGLoggingInfo.h @@ -12,7 +12,7 @@ /* * SWGLoggingInfo.h - * + * * Logging parameters setting */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGLoggingInfo: public SWGObject { public: SWGLoggingInfo(); - SWGLoggingInfo(QString* json); - virtual ~SWGLoggingInfo(); + SWGLoggingInfo(QString json); + ~SWGLoggingInfo(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGLoggingInfo* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGLoggingInfo* fromJson(QString jsonString); QString* getConsoleLevel(); void setConsoleLevel(QString* console_level); @@ -55,11 +54,21 @@ public: void setFileName(QString* file_name); + virtual bool isSet() override; + private: QString* console_level; + bool m_console_level_isSet; + QString* file_level; + bool m_file_level_isSet; + qint32 dump_to_file; + bool m_dump_to_file_isSet; + QString* file_name; + bool m_file_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h index e8cc0a960..775f3b1f1 100644 --- a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h +++ b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h @@ -171,13 +171,12 @@ namespace SWGSDRangel { } inline void* create(QString json, QString type) { - void* val = create(type); - if(val != nullptr) { - SWGObject* obj = static_cast<SWGObject*>(val); - return obj->fromJson(json); - } if(type.startsWith("QString")) { return new QString(); + } + auto val = static_cast<SWGObject*>(create(type)); + if(val != nullptr) { + return val->fromJson(json); } return nullptr; } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp index 5e1bd88b8..9fa3c242a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGNFMDemodSettings::SWGNFMDemodSettings(QString* json) { +SWGNFMDemodSettings::SWGNFMDemodSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGNFMDemodSettings::SWGNFMDemodSettings() { @@ -38,27 +38,43 @@ SWGNFMDemodSettings::~SWGNFMDemodSettings() { void SWGNFMDemodSettings::init() { input_frequency_offset = 0L; + m_input_frequency_offset_isSet = false; rf_bandwidth = 0.0f; + m_rf_bandwidth_isSet = false; af_bandwidth = 0.0f; + m_af_bandwidth_isSet = false; fm_deviation = 0; + m_fm_deviation_isSet = false; squelch_gate = 0; + m_squelch_gate_isSet = false; delta_squelch = 0; + m_delta_squelch_isSet = false; squelch = 0.0f; + m_squelch_isSet = false; volume = 0.0f; + m_volume_isSet = false; ctcss_on = 0; + m_ctcss_on_isSet = false; audio_mute = 0; + m_audio_mute_isSet = false; ctcss_index = 0; + m_ctcss_index_isSet = false; audio_sample_rate = 0; + m_audio_sample_rate_isSet = false; copy_audio_to_udp = 0; + m_copy_audio_to_udp_isSet = false; udp_address = new QString(""); + m_udp_address_isSet = false; udp_port = 0; + m_udp_port_isSet = false; rgb_color = 0; + m_rgb_color_isSet = false; title = new QString(""); + m_title_isSet = false; } void SWGNFMDemodSettings::cleanup() { - @@ -72,19 +88,18 @@ SWGNFMDemodSettings::cleanup() { - if(udp_address != nullptr) { + if(udp_address != nullptr) { delete udp_address; } - - if(title != nullptr) { + if(title != nullptr) { delete title; } } SWGNFMDemodSettings* -SWGNFMDemodSettings::fromJson(QString &json) { +SWGNFMDemodSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -93,73 +108,106 @@ SWGNFMDemodSettings::fromJson(QString &json) { } void -SWGNFMDemodSettings::fromJsonObject(QJsonObject &pJson) { +SWGNFMDemodSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", ""); + ::SWGSDRangel::setValue(&rf_bandwidth, pJson["rfBandwidth"], "float", ""); + ::SWGSDRangel::setValue(&af_bandwidth, pJson["afBandwidth"], "float", ""); + ::SWGSDRangel::setValue(&fm_deviation, pJson["fmDeviation"], "qint32", ""); + ::SWGSDRangel::setValue(&squelch_gate, pJson["squelchGate"], "qint32", ""); + ::SWGSDRangel::setValue(&delta_squelch, pJson["deltaSquelch"], "qint32", ""); + ::SWGSDRangel::setValue(&squelch, pJson["squelch"], "float", ""); + ::SWGSDRangel::setValue(&volume, pJson["volume"], "float", ""); + ::SWGSDRangel::setValue(&ctcss_on, pJson["ctcssOn"], "qint32", ""); + ::SWGSDRangel::setValue(&audio_mute, pJson["audioMute"], "qint32", ""); + ::SWGSDRangel::setValue(&ctcss_index, pJson["ctcssIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&audio_sample_rate, pJson["audioSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(©_audio_to_udp, pJson["copyAudioToUDP"], "qint32", ""); + ::SWGSDRangel::setValue(&udp_address, pJson["udpAddress"], "QString", "QString"); + ::SWGSDRangel::setValue(&udp_port, pJson["udpPort"], "qint32", ""); + ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", ""); + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + } QString SWGNFMDemodSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGNFMDemodSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("inputFrequencyOffset", QJsonValue(input_frequency_offset)); - - obj->insert("rfBandwidth", QJsonValue(rf_bandwidth)); - - obj->insert("afBandwidth", QJsonValue(af_bandwidth)); - - obj->insert("fmDeviation", QJsonValue(fm_deviation)); - - obj->insert("squelchGate", QJsonValue(squelch_gate)); - - obj->insert("deltaSquelch", QJsonValue(delta_squelch)); - - obj->insert("squelch", QJsonValue(squelch)); - - obj->insert("volume", QJsonValue(volume)); - - obj->insert("ctcssOn", QJsonValue(ctcss_on)); - - obj->insert("audioMute", QJsonValue(audio_mute)); - - obj->insert("ctcssIndex", QJsonValue(ctcss_index)); - - obj->insert("audioSampleRate", QJsonValue(audio_sample_rate)); - - obj->insert("copyAudioToUDP", QJsonValue(copy_audio_to_udp)); - - toJsonValue(QString("udpAddress"), udp_address, obj, QString("QString")); - - obj->insert("udpPort", QJsonValue(udp_port)); - - obj->insert("rgbColor", QJsonValue(rgb_color)); - - toJsonValue(QString("title"), title, obj, QString("QString")); + QJsonObject obj; + if(m_input_frequency_offset_isSet){ + obj.insert("inputFrequencyOffset", QJsonValue(input_frequency_offset)); + } + if(m_rf_bandwidth_isSet){ + obj.insert("rfBandwidth", QJsonValue(rf_bandwidth)); + } + if(m_af_bandwidth_isSet){ + obj.insert("afBandwidth", QJsonValue(af_bandwidth)); + } + if(m_fm_deviation_isSet){ + obj.insert("fmDeviation", QJsonValue(fm_deviation)); + } + if(m_squelch_gate_isSet){ + obj.insert("squelchGate", QJsonValue(squelch_gate)); + } + if(m_delta_squelch_isSet){ + obj.insert("deltaSquelch", QJsonValue(delta_squelch)); + } + if(m_squelch_isSet){ + obj.insert("squelch", QJsonValue(squelch)); + } + if(m_volume_isSet){ + obj.insert("volume", QJsonValue(volume)); + } + if(m_ctcss_on_isSet){ + obj.insert("ctcssOn", QJsonValue(ctcss_on)); + } + if(m_audio_mute_isSet){ + obj.insert("audioMute", QJsonValue(audio_mute)); + } + if(m_ctcss_index_isSet){ + obj.insert("ctcssIndex", QJsonValue(ctcss_index)); + } + if(m_audio_sample_rate_isSet){ + obj.insert("audioSampleRate", QJsonValue(audio_sample_rate)); + } + if(m_copy_audio_to_udp_isSet){ + obj.insert("copyAudioToUDP", QJsonValue(copy_audio_to_udp)); + } + if(udp_address != nullptr && *udp_address != QString("")){ + toJsonValue(QString("udpAddress"), udp_address, obj, QString("QString")); + } + if(m_udp_port_isSet){ + obj.insert("udpPort", QJsonValue(udp_port)); + } + if(m_rgb_color_isSet){ + obj.insert("rgbColor", QJsonValue(rgb_color)); + } + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } return obj; } @@ -171,6 +219,7 @@ SWGNFMDemodSettings::getInputFrequencyOffset() { void SWGNFMDemodSettings::setInputFrequencyOffset(qint64 input_frequency_offset) { this->input_frequency_offset = input_frequency_offset; + this->m_input_frequency_offset_isSet = true; } float @@ -180,6 +229,7 @@ SWGNFMDemodSettings::getRfBandwidth() { void SWGNFMDemodSettings::setRfBandwidth(float rf_bandwidth) { this->rf_bandwidth = rf_bandwidth; + this->m_rf_bandwidth_isSet = true; } float @@ -189,6 +239,7 @@ SWGNFMDemodSettings::getAfBandwidth() { void SWGNFMDemodSettings::setAfBandwidth(float af_bandwidth) { this->af_bandwidth = af_bandwidth; + this->m_af_bandwidth_isSet = true; } qint32 @@ -198,6 +249,7 @@ SWGNFMDemodSettings::getFmDeviation() { void SWGNFMDemodSettings::setFmDeviation(qint32 fm_deviation) { this->fm_deviation = fm_deviation; + this->m_fm_deviation_isSet = true; } qint32 @@ -207,6 +259,7 @@ SWGNFMDemodSettings::getSquelchGate() { void SWGNFMDemodSettings::setSquelchGate(qint32 squelch_gate) { this->squelch_gate = squelch_gate; + this->m_squelch_gate_isSet = true; } qint32 @@ -216,6 +269,7 @@ SWGNFMDemodSettings::getDeltaSquelch() { void SWGNFMDemodSettings::setDeltaSquelch(qint32 delta_squelch) { this->delta_squelch = delta_squelch; + this->m_delta_squelch_isSet = true; } float @@ -225,6 +279,7 @@ SWGNFMDemodSettings::getSquelch() { void SWGNFMDemodSettings::setSquelch(float squelch) { this->squelch = squelch; + this->m_squelch_isSet = true; } float @@ -234,6 +289,7 @@ SWGNFMDemodSettings::getVolume() { void SWGNFMDemodSettings::setVolume(float volume) { this->volume = volume; + this->m_volume_isSet = true; } qint32 @@ -243,6 +299,7 @@ SWGNFMDemodSettings::getCtcssOn() { void SWGNFMDemodSettings::setCtcssOn(qint32 ctcss_on) { this->ctcss_on = ctcss_on; + this->m_ctcss_on_isSet = true; } qint32 @@ -252,6 +309,7 @@ SWGNFMDemodSettings::getAudioMute() { void SWGNFMDemodSettings::setAudioMute(qint32 audio_mute) { this->audio_mute = audio_mute; + this->m_audio_mute_isSet = true; } qint32 @@ -261,6 +319,7 @@ SWGNFMDemodSettings::getCtcssIndex() { void SWGNFMDemodSettings::setCtcssIndex(qint32 ctcss_index) { this->ctcss_index = ctcss_index; + this->m_ctcss_index_isSet = true; } qint32 @@ -270,6 +329,7 @@ SWGNFMDemodSettings::getAudioSampleRate() { void SWGNFMDemodSettings::setAudioSampleRate(qint32 audio_sample_rate) { this->audio_sample_rate = audio_sample_rate; + this->m_audio_sample_rate_isSet = true; } qint32 @@ -279,6 +339,7 @@ SWGNFMDemodSettings::getCopyAudioToUdp() { void SWGNFMDemodSettings::setCopyAudioToUdp(qint32 copy_audio_to_udp) { this->copy_audio_to_udp = copy_audio_to_udp; + this->m_copy_audio_to_udp_isSet = true; } QString* @@ -288,6 +349,7 @@ SWGNFMDemodSettings::getUdpAddress() { void SWGNFMDemodSettings::setUdpAddress(QString* udp_address) { this->udp_address = udp_address; + this->m_udp_address_isSet = true; } qint32 @@ -297,6 +359,7 @@ SWGNFMDemodSettings::getUdpPort() { void SWGNFMDemodSettings::setUdpPort(qint32 udp_port) { this->udp_port = udp_port; + this->m_udp_port_isSet = true; } qint32 @@ -306,6 +369,7 @@ SWGNFMDemodSettings::getRgbColor() { void SWGNFMDemodSettings::setRgbColor(qint32 rgb_color) { this->rgb_color = rgb_color; + this->m_rgb_color_isSet = true; } QString* @@ -315,8 +379,33 @@ SWGNFMDemodSettings::getTitle() { void SWGNFMDemodSettings::setTitle(QString* title) { this->title = title; + this->m_title_isSet = true; } +bool +SWGNFMDemodSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_input_frequency_offset_isSet){ isObjectUpdated = true; break;} + if(m_rf_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_af_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_fm_deviation_isSet){ isObjectUpdated = true; break;} + if(m_squelch_gate_isSet){ isObjectUpdated = true; break;} + if(m_delta_squelch_isSet){ isObjectUpdated = true; break;} + if(m_squelch_isSet){ isObjectUpdated = true; break;} + if(m_volume_isSet){ isObjectUpdated = true; break;} + if(m_ctcss_on_isSet){ isObjectUpdated = true; break;} + if(m_audio_mute_isSet){ isObjectUpdated = true; break;} + if(m_ctcss_index_isSet){ isObjectUpdated = true; break;} + if(m_audio_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_copy_audio_to_udp_isSet){ isObjectUpdated = true; break;} + if(udp_address != nullptr && *udp_address != QString("")){ isObjectUpdated = true; break;} + if(m_udp_port_isSet){ isObjectUpdated = true; break;} + if(m_rgb_color_isSet){ isObjectUpdated = true; break;} + if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h index d030653e5..a144c7c0f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h @@ -12,7 +12,7 @@ /* * SWGNFMDemodSettings.h - * + * * NFMDemod */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGNFMDemodSettings: public SWGObject { public: SWGNFMDemodSettings(); - SWGNFMDemodSettings(QString* json); - virtual ~SWGNFMDemodSettings(); + SWGNFMDemodSettings(QString json); + ~SWGNFMDemodSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGNFMDemodSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGNFMDemodSettings* fromJson(QString jsonString); qint64 getInputFrequencyOffset(); void setInputFrequencyOffset(qint64 input_frequency_offset); @@ -94,24 +93,60 @@ public: void setTitle(QString* title); + virtual bool isSet() override; + private: qint64 input_frequency_offset; + bool m_input_frequency_offset_isSet; + float rf_bandwidth; + bool m_rf_bandwidth_isSet; + float af_bandwidth; + bool m_af_bandwidth_isSet; + qint32 fm_deviation; + bool m_fm_deviation_isSet; + qint32 squelch_gate; + bool m_squelch_gate_isSet; + qint32 delta_squelch; + bool m_delta_squelch_isSet; + float squelch; + bool m_squelch_isSet; + float volume; + bool m_volume_isSet; + qint32 ctcss_on; + bool m_ctcss_on_isSet; + qint32 audio_mute; + bool m_audio_mute_isSet; + qint32 ctcss_index; + bool m_ctcss_index_isSet; + qint32 audio_sample_rate; + bool m_audio_sample_rate_isSet; + qint32 copy_audio_to_udp; + bool m_copy_audio_to_udp_isSet; + QString* udp_address; + bool m_udp_address_isSet; + qint32 udp_port; + bool m_udp_port_isSet; + qint32 rgb_color; + bool m_rgb_color_isSet; + QString* title; + bool m_title_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp index 61e945f04..b4d383e35 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGNFMModSettings::SWGNFMModSettings(QString* json) { +SWGNFMModSettings::SWGNFMModSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGNFMModSettings::SWGNFMModSettings() { @@ -38,25 +38,39 @@ SWGNFMModSettings::~SWGNFMModSettings() { void SWGNFMModSettings::init() { input_frequency_offset = 0L; + m_input_frequency_offset_isSet = false; rf_bandwidth = 0.0f; + m_rf_bandwidth_isSet = false; af_bandwidth = 0.0f; + m_af_bandwidth_isSet = false; fm_deviation = 0.0f; + m_fm_deviation_isSet = false; tone_frequency = 0.0f; + m_tone_frequency_isSet = false; volume_factor = 0.0f; + m_volume_factor_isSet = false; audio_sample_rate = 0; + m_audio_sample_rate_isSet = false; channel_mute = 0; + m_channel_mute_isSet = false; play_loop = 0; + m_play_loop_isSet = false; ctcss_on = 0; + m_ctcss_on_isSet = false; ctcss_index = 0; + m_ctcss_index_isSet = false; rgb_color = 0; + m_rgb_color_isSet = false; title = new QString(""); + m_title_isSet = false; mod_af_input = 0; + m_mod_af_input_isSet = false; cw_keyer = new SWGCWKeyerSettings(); + m_cw_keyer_isSet = false; } void SWGNFMModSettings::cleanup() { - @@ -69,18 +83,17 @@ SWGNFMModSettings::cleanup() { - if(title != nullptr) { + if(title != nullptr) { delete title; } - - if(cw_keyer != nullptr) { + if(cw_keyer != nullptr) { delete cw_keyer; } } SWGNFMModSettings* -SWGNFMModSettings::fromJson(QString &json) { +SWGNFMModSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -89,67 +102,96 @@ SWGNFMModSettings::fromJson(QString &json) { } void -SWGNFMModSettings::fromJsonObject(QJsonObject &pJson) { +SWGNFMModSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", ""); + ::SWGSDRangel::setValue(&rf_bandwidth, pJson["rfBandwidth"], "float", ""); + ::SWGSDRangel::setValue(&af_bandwidth, pJson["afBandwidth"], "float", ""); + ::SWGSDRangel::setValue(&fm_deviation, pJson["fmDeviation"], "float", ""); + ::SWGSDRangel::setValue(&tone_frequency, pJson["toneFrequency"], "float", ""); + ::SWGSDRangel::setValue(&volume_factor, pJson["volumeFactor"], "float", ""); + ::SWGSDRangel::setValue(&audio_sample_rate, pJson["audioSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&channel_mute, pJson["channelMute"], "qint32", ""); + ::SWGSDRangel::setValue(&play_loop, pJson["playLoop"], "qint32", ""); + ::SWGSDRangel::setValue(&ctcss_on, pJson["ctcssOn"], "qint32", ""); + ::SWGSDRangel::setValue(&ctcss_index, pJson["ctcssIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", ""); + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&mod_af_input, pJson["modAFInput"], "qint32", ""); + ::SWGSDRangel::setValue(&cw_keyer, pJson["cwKeyer"], "SWGCWKeyerSettings", "SWGCWKeyerSettings"); + } QString SWGNFMModSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGNFMModSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("inputFrequencyOffset", QJsonValue(input_frequency_offset)); - - obj->insert("rfBandwidth", QJsonValue(rf_bandwidth)); - - obj->insert("afBandwidth", QJsonValue(af_bandwidth)); - - obj->insert("fmDeviation", QJsonValue(fm_deviation)); - - obj->insert("toneFrequency", QJsonValue(tone_frequency)); - - obj->insert("volumeFactor", QJsonValue(volume_factor)); - - obj->insert("audioSampleRate", QJsonValue(audio_sample_rate)); - - obj->insert("channelMute", QJsonValue(channel_mute)); - - obj->insert("playLoop", QJsonValue(play_loop)); - - obj->insert("ctcssOn", QJsonValue(ctcss_on)); - - obj->insert("ctcssIndex", QJsonValue(ctcss_index)); - - obj->insert("rgbColor", QJsonValue(rgb_color)); - - toJsonValue(QString("title"), title, obj, QString("QString")); - - obj->insert("modAFInput", QJsonValue(mod_af_input)); - - toJsonValue(QString("cwKeyer"), cw_keyer, obj, QString("SWGCWKeyerSettings")); + QJsonObject obj; + if(m_input_frequency_offset_isSet){ + obj.insert("inputFrequencyOffset", QJsonValue(input_frequency_offset)); + } + if(m_rf_bandwidth_isSet){ + obj.insert("rfBandwidth", QJsonValue(rf_bandwidth)); + } + if(m_af_bandwidth_isSet){ + obj.insert("afBandwidth", QJsonValue(af_bandwidth)); + } + if(m_fm_deviation_isSet){ + obj.insert("fmDeviation", QJsonValue(fm_deviation)); + } + if(m_tone_frequency_isSet){ + obj.insert("toneFrequency", QJsonValue(tone_frequency)); + } + if(m_volume_factor_isSet){ + obj.insert("volumeFactor", QJsonValue(volume_factor)); + } + if(m_audio_sample_rate_isSet){ + obj.insert("audioSampleRate", QJsonValue(audio_sample_rate)); + } + if(m_channel_mute_isSet){ + obj.insert("channelMute", QJsonValue(channel_mute)); + } + if(m_play_loop_isSet){ + obj.insert("playLoop", QJsonValue(play_loop)); + } + if(m_ctcss_on_isSet){ + obj.insert("ctcssOn", QJsonValue(ctcss_on)); + } + if(m_ctcss_index_isSet){ + obj.insert("ctcssIndex", QJsonValue(ctcss_index)); + } + if(m_rgb_color_isSet){ + obj.insert("rgbColor", QJsonValue(rgb_color)); + } + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } + if(m_mod_af_input_isSet){ + obj.insert("modAFInput", QJsonValue(mod_af_input)); + } + if((cw_keyer != nullptr) && (cw_keyer->isSet())){ + toJsonValue(QString("cwKeyer"), cw_keyer, obj, QString("SWGCWKeyerSettings")); + } return obj; } @@ -161,6 +203,7 @@ SWGNFMModSettings::getInputFrequencyOffset() { void SWGNFMModSettings::setInputFrequencyOffset(qint64 input_frequency_offset) { this->input_frequency_offset = input_frequency_offset; + this->m_input_frequency_offset_isSet = true; } float @@ -170,6 +213,7 @@ SWGNFMModSettings::getRfBandwidth() { void SWGNFMModSettings::setRfBandwidth(float rf_bandwidth) { this->rf_bandwidth = rf_bandwidth; + this->m_rf_bandwidth_isSet = true; } float @@ -179,6 +223,7 @@ SWGNFMModSettings::getAfBandwidth() { void SWGNFMModSettings::setAfBandwidth(float af_bandwidth) { this->af_bandwidth = af_bandwidth; + this->m_af_bandwidth_isSet = true; } float @@ -188,6 +233,7 @@ SWGNFMModSettings::getFmDeviation() { void SWGNFMModSettings::setFmDeviation(float fm_deviation) { this->fm_deviation = fm_deviation; + this->m_fm_deviation_isSet = true; } float @@ -197,6 +243,7 @@ SWGNFMModSettings::getToneFrequency() { void SWGNFMModSettings::setToneFrequency(float tone_frequency) { this->tone_frequency = tone_frequency; + this->m_tone_frequency_isSet = true; } float @@ -206,6 +253,7 @@ SWGNFMModSettings::getVolumeFactor() { void SWGNFMModSettings::setVolumeFactor(float volume_factor) { this->volume_factor = volume_factor; + this->m_volume_factor_isSet = true; } qint32 @@ -215,6 +263,7 @@ SWGNFMModSettings::getAudioSampleRate() { void SWGNFMModSettings::setAudioSampleRate(qint32 audio_sample_rate) { this->audio_sample_rate = audio_sample_rate; + this->m_audio_sample_rate_isSet = true; } qint32 @@ -224,6 +273,7 @@ SWGNFMModSettings::getChannelMute() { void SWGNFMModSettings::setChannelMute(qint32 channel_mute) { this->channel_mute = channel_mute; + this->m_channel_mute_isSet = true; } qint32 @@ -233,6 +283,7 @@ SWGNFMModSettings::getPlayLoop() { void SWGNFMModSettings::setPlayLoop(qint32 play_loop) { this->play_loop = play_loop; + this->m_play_loop_isSet = true; } qint32 @@ -242,6 +293,7 @@ SWGNFMModSettings::getCtcssOn() { void SWGNFMModSettings::setCtcssOn(qint32 ctcss_on) { this->ctcss_on = ctcss_on; + this->m_ctcss_on_isSet = true; } qint32 @@ -251,6 +303,7 @@ SWGNFMModSettings::getCtcssIndex() { void SWGNFMModSettings::setCtcssIndex(qint32 ctcss_index) { this->ctcss_index = ctcss_index; + this->m_ctcss_index_isSet = true; } qint32 @@ -260,6 +313,7 @@ SWGNFMModSettings::getRgbColor() { void SWGNFMModSettings::setRgbColor(qint32 rgb_color) { this->rgb_color = rgb_color; + this->m_rgb_color_isSet = true; } QString* @@ -269,6 +323,7 @@ SWGNFMModSettings::getTitle() { void SWGNFMModSettings::setTitle(QString* title) { this->title = title; + this->m_title_isSet = true; } qint32 @@ -278,6 +333,7 @@ SWGNFMModSettings::getModAfInput() { void SWGNFMModSettings::setModAfInput(qint32 mod_af_input) { this->mod_af_input = mod_af_input; + this->m_mod_af_input_isSet = true; } SWGCWKeyerSettings* @@ -287,8 +343,31 @@ SWGNFMModSettings::getCwKeyer() { void SWGNFMModSettings::setCwKeyer(SWGCWKeyerSettings* cw_keyer) { this->cw_keyer = cw_keyer; + this->m_cw_keyer_isSet = true; } +bool +SWGNFMModSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_input_frequency_offset_isSet){ isObjectUpdated = true; break;} + if(m_rf_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_af_bandwidth_isSet){ isObjectUpdated = true; break;} + if(m_fm_deviation_isSet){ isObjectUpdated = true; break;} + if(m_tone_frequency_isSet){ isObjectUpdated = true; break;} + if(m_volume_factor_isSet){ isObjectUpdated = true; break;} + if(m_audio_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_channel_mute_isSet){ isObjectUpdated = true; break;} + if(m_play_loop_isSet){ isObjectUpdated = true; break;} + if(m_ctcss_on_isSet){ isObjectUpdated = true; break;} + if(m_ctcss_index_isSet){ isObjectUpdated = true; break;} + if(m_rgb_color_isSet){ isObjectUpdated = true; break;} + if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;} + if(m_mod_af_input_isSet){ isObjectUpdated = true; break;} + if(cw_keyer != nullptr && cw_keyer->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h index 6a2ac4940..980233971 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h @@ -12,7 +12,7 @@ /* * SWGNFMModSettings.h - * + * * NFMMod */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGNFMModSettings: public SWGObject { public: SWGNFMModSettings(); - SWGNFMModSettings(QString* json); - virtual ~SWGNFMModSettings(); + SWGNFMModSettings(QString json); + ~SWGNFMModSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGNFMModSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGNFMModSettings* fromJson(QString jsonString); qint64 getInputFrequencyOffset(); void setInputFrequencyOffset(qint64 input_frequency_offset); @@ -89,22 +88,54 @@ public: void setCwKeyer(SWGCWKeyerSettings* cw_keyer); + virtual bool isSet() override; + private: qint64 input_frequency_offset; + bool m_input_frequency_offset_isSet; + float rf_bandwidth; + bool m_rf_bandwidth_isSet; + float af_bandwidth; + bool m_af_bandwidth_isSet; + float fm_deviation; + bool m_fm_deviation_isSet; + float tone_frequency; + bool m_tone_frequency_isSet; + float volume_factor; + bool m_volume_factor_isSet; + qint32 audio_sample_rate; + bool m_audio_sample_rate_isSet; + qint32 channel_mute; + bool m_channel_mute_isSet; + qint32 play_loop; + bool m_play_loop_isSet; + qint32 ctcss_on; + bool m_ctcss_on_isSet; + qint32 ctcss_index; + bool m_ctcss_index_isSet; + qint32 rgb_color; + bool m_rgb_color_isSet; + QString* title; + bool m_title_isSet; + qint32 mod_af_input; + bool m_mod_af_input_isSet; + SWGCWKeyerSettings* cw_keyer; + bool m_cw_keyer_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGObject.h b/swagger/sdrangel/code/qt5/client/SWGObject.h index 0f40ee610..9c6c5fe58 100644 --- a/swagger/sdrangel/code/qt5/client/SWGObject.h +++ b/swagger/sdrangel/code/qt5/client/SWGObject.h @@ -19,20 +19,23 @@ namespace SWGSDRangel { class SWGObject { public: - virtual QJsonObject* asJsonObject() { - return nullptr; + virtual QJsonObject asJsonObject() { + return QJsonObject(); } virtual ~SWGObject() {} - virtual SWGObject* fromJson(QString &jsonString) { + virtual SWGObject* fromJson(QString jsonString) { Q_UNUSED(jsonString); - return nullptr; + return new SWGObject(); } - virtual void fromJsonObject(QJsonObject &json) { + virtual void fromJsonObject(QJsonObject json) { Q_UNUSED(json); } virtual QString asJson() { return QString(""); } + virtual bool isSet() { + return false; + } }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetExport.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetExport.cpp index 823276dce..fad56283f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetExport.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetExport.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetExport::SWGPresetExport(QString* json) { +SWGPresetExport::SWGPresetExport(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetExport::SWGPresetExport() { @@ -38,23 +38,23 @@ SWGPresetExport::~SWGPresetExport() { void SWGPresetExport::init() { file_path = new QString(""); + m_file_path_isSet = false; preset = new SWGPresetIdentifier(); + m_preset_isSet = false; } void SWGPresetExport::cleanup() { - - if(file_path != nullptr) { + if(file_path != nullptr) { delete file_path; } - - if(preset != nullptr) { + if(preset != nullptr) { delete preset; } } SWGPresetExport* -SWGPresetExport::fromJson(QString &json) { +SWGPresetExport::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -63,28 +63,31 @@ SWGPresetExport::fromJson(QString &json) { } void -SWGPresetExport::fromJsonObject(QJsonObject &pJson) { +SWGPresetExport::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&file_path, pJson["filePath"], "QString", "QString"); + ::SWGSDRangel::setValue(&preset, pJson["preset"], "SWGPresetIdentifier", "SWGPresetIdentifier"); + } QString SWGPresetExport::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetExport::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("filePath"), file_path, obj, QString("QString")); - - toJsonValue(QString("preset"), preset, obj, QString("SWGPresetIdentifier")); + QJsonObject obj; + if(file_path != nullptr && *file_path != QString("")){ + toJsonValue(QString("filePath"), file_path, obj, QString("QString")); + } + if((preset != nullptr) && (preset->isSet())){ + toJsonValue(QString("preset"), preset, obj, QString("SWGPresetIdentifier")); + } return obj; } @@ -96,6 +99,7 @@ SWGPresetExport::getFilePath() { void SWGPresetExport::setFilePath(QString* file_path) { this->file_path = file_path; + this->m_file_path_isSet = true; } SWGPresetIdentifier* @@ -105,8 +109,18 @@ SWGPresetExport::getPreset() { void SWGPresetExport::setPreset(SWGPresetIdentifier* preset) { this->preset = preset; + this->m_preset_isSet = true; } +bool +SWGPresetExport::isSet(){ + bool isObjectUpdated = false; + do{ + if(file_path != nullptr && *file_path != QString("")){ isObjectUpdated = true; break;} + if(preset != nullptr && preset->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetExport.h b/swagger/sdrangel/code/qt5/client/SWGPresetExport.h index e16d6f937..5969d6427 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetExport.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetExport.h @@ -12,7 +12,7 @@ /* * SWGPresetExport.h - * + * * Details to export a preset to file */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetExport: public SWGObject { public: SWGPresetExport(); - SWGPresetExport(QString* json); - virtual ~SWGPresetExport(); + SWGPresetExport(QString json); + ~SWGPresetExport(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetExport* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetExport* fromJson(QString jsonString); QString* getFilePath(); void setFilePath(QString* file_path); @@ -50,9 +49,15 @@ public: void setPreset(SWGPresetIdentifier* preset); + virtual bool isSet() override; + private: QString* file_path; + bool m_file_path_isSet; + SWGPresetIdentifier* preset; + bool m_preset_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetGroup.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetGroup.cpp index b56e0fba3..76ae39e9a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetGroup.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetGroup.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetGroup::SWGPresetGroup(QString* json) { +SWGPresetGroup::SWGPresetGroup(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetGroup::SWGPresetGroup() { @@ -38,21 +38,22 @@ SWGPresetGroup::~SWGPresetGroup() { void SWGPresetGroup::init() { group_name = new QString(""); + m_group_name_isSet = false; nb_presets = 0; + m_nb_presets_isSet = false; presets = new QList<SWGPresetItem*>(); + m_presets_isSet = false; } void SWGPresetGroup::cleanup() { - - if(group_name != nullptr) { + if(group_name != nullptr) { delete group_name; } - - if(presets != nullptr) { - QList<SWGPresetItem*>* arr = presets; - foreach(SWGPresetItem* o, *arr) { + if(presets != nullptr) { + auto arr = presets; + for(auto o: *arr) { delete o; } delete presets; @@ -60,7 +61,7 @@ SWGPresetGroup::cleanup() { } SWGPresetGroup* -SWGPresetGroup::fromJson(QString &json) { +SWGPresetGroup::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -69,35 +70,36 @@ SWGPresetGroup::fromJson(QString &json) { } void -SWGPresetGroup::fromJsonObject(QJsonObject &pJson) { +SWGPresetGroup::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&group_name, pJson["groupName"], "QString", "QString"); + ::SWGSDRangel::setValue(&nb_presets, pJson["nbPresets"], "qint32", ""); - ::SWGSDRangel::setValue(&presets, pJson["presets"], "QList", "SWGPresetItem"); + ::SWGSDRangel::setValue(&presets, pJson["presets"], "QList", "SWGPresetItem"); } QString SWGPresetGroup::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetGroup::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("groupName"), group_name, obj, QString("QString")); - - obj->insert("nbPresets", QJsonValue(nb_presets)); - - QJsonArray presetsJsonArray; - toJsonArray((QList<void*>*)presets, &presetsJsonArray, "presets", "SWGPresetItem"); - obj->insert("presets", presetsJsonArray); + QJsonObject obj; + if(group_name != nullptr && *group_name != QString("")){ + toJsonValue(QString("groupName"), group_name, obj, QString("QString")); + } + if(m_nb_presets_isSet){ + obj.insert("nbPresets", QJsonValue(nb_presets)); + } + if(presets->size() > 0){ + toJsonArray((QList<void*>*)presets, obj, "presets", "SWGPresetItem"); + } return obj; } @@ -109,6 +111,7 @@ SWGPresetGroup::getGroupName() { void SWGPresetGroup::setGroupName(QString* group_name) { this->group_name = group_name; + this->m_group_name_isSet = true; } qint32 @@ -118,6 +121,7 @@ SWGPresetGroup::getNbPresets() { void SWGPresetGroup::setNbPresets(qint32 nb_presets) { this->nb_presets = nb_presets; + this->m_nb_presets_isSet = true; } QList<SWGPresetItem*>* @@ -127,8 +131,19 @@ SWGPresetGroup::getPresets() { void SWGPresetGroup::setPresets(QList<SWGPresetItem*>* presets) { this->presets = presets; + this->m_presets_isSet = true; } +bool +SWGPresetGroup::isSet(){ + bool isObjectUpdated = false; + do{ + if(group_name != nullptr && *group_name != QString("")){ isObjectUpdated = true; break;} + if(m_nb_presets_isSet){ isObjectUpdated = true; break;} + if(presets->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetGroup.h b/swagger/sdrangel/code/qt5/client/SWGPresetGroup.h index 0f6b7089c..3a3934e44 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetGroup.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetGroup.h @@ -12,7 +12,7 @@ /* * SWGPresetGroup.h - * + * * Group of presets */ @@ -28,21 +28,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetGroup: public SWGObject { public: SWGPresetGroup(); - SWGPresetGroup(QString* json); - virtual ~SWGPresetGroup(); + SWGPresetGroup(QString json); + ~SWGPresetGroup(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetGroup* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetGroup* fromJson(QString jsonString); QString* getGroupName(); void setGroupName(QString* group_name); @@ -54,10 +53,18 @@ public: void setPresets(QList<SWGPresetItem*>* presets); + virtual bool isSet() override; + private: QString* group_name; + bool m_group_name_isSet; + qint32 nb_presets; + bool m_nb_presets_isSet; + QList<SWGPresetItem*>* presets; + bool m_presets_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.cpp index 9be6f9cad..51e6dbf2b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetIdentifier::SWGPresetIdentifier(QString* json) { +SWGPresetIdentifier::SWGPresetIdentifier(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetIdentifier::SWGPresetIdentifier() { @@ -38,30 +38,31 @@ SWGPresetIdentifier::~SWGPresetIdentifier() { void SWGPresetIdentifier::init() { group_name = new QString(""); + m_group_name_isSet = false; center_frequency = 0L; + m_center_frequency_isSet = false; type = new QString(""); + m_type_isSet = false; name = new QString(""); + m_name_isSet = false; } void SWGPresetIdentifier::cleanup() { - - if(group_name != nullptr) { + if(group_name != nullptr) { delete group_name; } - - if(type != nullptr) { + if(type != nullptr) { delete type; } - - if(name != nullptr) { + if(name != nullptr) { delete name; } } SWGPresetIdentifier* -SWGPresetIdentifier::fromJson(QString &json) { +SWGPresetIdentifier::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -70,34 +71,41 @@ SWGPresetIdentifier::fromJson(QString &json) { } void -SWGPresetIdentifier::fromJsonObject(QJsonObject &pJson) { +SWGPresetIdentifier::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&group_name, pJson["groupName"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&type, pJson["type"], "QString", "QString"); + ::SWGSDRangel::setValue(&name, pJson["name"], "QString", "QString"); + } QString SWGPresetIdentifier::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetIdentifier::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("groupName"), group_name, obj, QString("QString")); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - toJsonValue(QString("type"), type, obj, QString("QString")); - - toJsonValue(QString("name"), name, obj, QString("QString")); + QJsonObject obj; + if(group_name != nullptr && *group_name != QString("")){ + toJsonValue(QString("groupName"), group_name, obj, QString("QString")); + } + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(type != nullptr && *type != QString("")){ + toJsonValue(QString("type"), type, obj, QString("QString")); + } + if(name != nullptr && *name != QString("")){ + toJsonValue(QString("name"), name, obj, QString("QString")); + } return obj; } @@ -109,6 +117,7 @@ SWGPresetIdentifier::getGroupName() { void SWGPresetIdentifier::setGroupName(QString* group_name) { this->group_name = group_name; + this->m_group_name_isSet = true; } qint64 @@ -118,6 +127,7 @@ SWGPresetIdentifier::getCenterFrequency() { void SWGPresetIdentifier::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } QString* @@ -127,6 +137,7 @@ SWGPresetIdentifier::getType() { void SWGPresetIdentifier::setType(QString* type) { this->type = type; + this->m_type_isSet = true; } QString* @@ -136,8 +147,20 @@ SWGPresetIdentifier::getName() { void SWGPresetIdentifier::setName(QString* name) { this->name = name; + this->m_name_isSet = true; } +bool +SWGPresetIdentifier::isSet(){ + bool isObjectUpdated = false; + do{ + if(group_name != nullptr && *group_name != QString("")){ isObjectUpdated = true; break;} + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(type != nullptr && *type != QString("")){ isObjectUpdated = true; break;} + if(name != nullptr && *name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.h b/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.h index be5d26532..ea0eb353c 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetIdentifier.h @@ -12,7 +12,7 @@ /* * SWGPresetIdentifier.h - * + * * Settings preset item */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetIdentifier: public SWGObject { public: SWGPresetIdentifier(); - SWGPresetIdentifier(QString* json); - virtual ~SWGPresetIdentifier(); + SWGPresetIdentifier(QString json); + ~SWGPresetIdentifier(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetIdentifier* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetIdentifier* fromJson(QString jsonString); QString* getGroupName(); void setGroupName(QString* group_name); @@ -55,11 +54,21 @@ public: void setName(QString* name); + virtual bool isSet() override; + private: QString* group_name; + bool m_group_name_isSet; + qint64 center_frequency; + bool m_center_frequency_isSet; + QString* type; + bool m_type_isSet; + QString* name; + bool m_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetImport.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetImport.cpp index f38e37a7b..570139046 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetImport.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetImport.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetImport::SWGPresetImport(QString* json) { +SWGPresetImport::SWGPresetImport(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetImport::SWGPresetImport() { @@ -38,28 +38,28 @@ SWGPresetImport::~SWGPresetImport() { void SWGPresetImport::init() { group_name = new QString(""); + m_group_name_isSet = false; description = new QString(""); + m_description_isSet = false; file_path = new QString(""); + m_file_path_isSet = false; } void SWGPresetImport::cleanup() { - - if(group_name != nullptr) { + if(group_name != nullptr) { delete group_name; } - - if(description != nullptr) { + if(description != nullptr) { delete description; } - - if(file_path != nullptr) { + if(file_path != nullptr) { delete file_path; } } SWGPresetImport* -SWGPresetImport::fromJson(QString &json) { +SWGPresetImport::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -68,31 +68,36 @@ SWGPresetImport::fromJson(QString &json) { } void -SWGPresetImport::fromJsonObject(QJsonObject &pJson) { +SWGPresetImport::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&group_name, pJson["groupName"], "QString", "QString"); + ::SWGSDRangel::setValue(&description, pJson["description"], "QString", "QString"); + ::SWGSDRangel::setValue(&file_path, pJson["filePath"], "QString", "QString"); + } QString SWGPresetImport::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetImport::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("groupName"), group_name, obj, QString("QString")); - - toJsonValue(QString("description"), description, obj, QString("QString")); - - toJsonValue(QString("filePath"), file_path, obj, QString("QString")); + QJsonObject obj; + if(group_name != nullptr && *group_name != QString("")){ + toJsonValue(QString("groupName"), group_name, obj, QString("QString")); + } + if(description != nullptr && *description != QString("")){ + toJsonValue(QString("description"), description, obj, QString("QString")); + } + if(file_path != nullptr && *file_path != QString("")){ + toJsonValue(QString("filePath"), file_path, obj, QString("QString")); + } return obj; } @@ -104,6 +109,7 @@ SWGPresetImport::getGroupName() { void SWGPresetImport::setGroupName(QString* group_name) { this->group_name = group_name; + this->m_group_name_isSet = true; } QString* @@ -113,6 +119,7 @@ SWGPresetImport::getDescription() { void SWGPresetImport::setDescription(QString* description) { this->description = description; + this->m_description_isSet = true; } QString* @@ -122,8 +129,19 @@ SWGPresetImport::getFilePath() { void SWGPresetImport::setFilePath(QString* file_path) { this->file_path = file_path; + this->m_file_path_isSet = true; } +bool +SWGPresetImport::isSet(){ + bool isObjectUpdated = false; + do{ + if(group_name != nullptr && *group_name != QString("")){ isObjectUpdated = true; break;} + if(description != nullptr && *description != QString("")){ isObjectUpdated = true; break;} + if(file_path != nullptr && *file_path != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetImport.h b/swagger/sdrangel/code/qt5/client/SWGPresetImport.h index ff53d39d8..d0bc3c4aa 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetImport.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetImport.h @@ -12,7 +12,7 @@ /* * SWGPresetImport.h - * + * * Details to import preset from file in preset list */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetImport: public SWGObject { public: SWGPresetImport(); - SWGPresetImport(QString* json); - virtual ~SWGPresetImport(); + SWGPresetImport(QString json); + ~SWGPresetImport(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetImport* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetImport* fromJson(QString jsonString); QString* getGroupName(); void setGroupName(QString* group_name); @@ -52,10 +51,18 @@ public: void setFilePath(QString* file_path); + virtual bool isSet() override; + private: QString* group_name; + bool m_group_name_isSet; + QString* description; + bool m_description_isSet; + QString* file_path; + bool m_file_path_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetItem.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetItem.cpp index 59b76d73f..fef767f56 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetItem.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetItem.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetItem::SWGPresetItem(QString* json) { +SWGPresetItem::SWGPresetItem(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetItem::SWGPresetItem() { @@ -38,25 +38,26 @@ SWGPresetItem::~SWGPresetItem() { void SWGPresetItem::init() { center_frequency = 0L; + m_center_frequency_isSet = false; type = new QString(""); + m_type_isSet = false; name = new QString(""); + m_name_isSet = false; } void SWGPresetItem::cleanup() { - - if(type != nullptr) { + if(type != nullptr) { delete type; } - - if(name != nullptr) { + if(name != nullptr) { delete name; } } SWGPresetItem* -SWGPresetItem::fromJson(QString &json) { +SWGPresetItem::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -65,31 +66,36 @@ SWGPresetItem::fromJson(QString &json) { } void -SWGPresetItem::fromJsonObject(QJsonObject &pJson) { +SWGPresetItem::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&type, pJson["type"], "QString", "QString"); + ::SWGSDRangel::setValue(&name, pJson["name"], "QString", "QString"); + } QString SWGPresetItem::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetItem::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - toJsonValue(QString("type"), type, obj, QString("QString")); - - toJsonValue(QString("name"), name, obj, QString("QString")); + QJsonObject obj; + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(type != nullptr && *type != QString("")){ + toJsonValue(QString("type"), type, obj, QString("QString")); + } + if(name != nullptr && *name != QString("")){ + toJsonValue(QString("name"), name, obj, QString("QString")); + } return obj; } @@ -101,6 +107,7 @@ SWGPresetItem::getCenterFrequency() { void SWGPresetItem::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } QString* @@ -110,6 +117,7 @@ SWGPresetItem::getType() { void SWGPresetItem::setType(QString* type) { this->type = type; + this->m_type_isSet = true; } QString* @@ -119,8 +127,19 @@ SWGPresetItem::getName() { void SWGPresetItem::setName(QString* name) { this->name = name; + this->m_name_isSet = true; } +bool +SWGPresetItem::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(type != nullptr && *type != QString("")){ isObjectUpdated = true; break;} + if(name != nullptr && *name != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetItem.h b/swagger/sdrangel/code/qt5/client/SWGPresetItem.h index 4be42baf5..1ced42d2f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetItem.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetItem.h @@ -12,7 +12,7 @@ /* * SWGPresetItem.h - * + * * Settings preset item */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetItem: public SWGObject { public: SWGPresetItem(); - SWGPresetItem(QString* json); - virtual ~SWGPresetItem(); + SWGPresetItem(QString json); + ~SWGPresetItem(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetItem* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetItem* fromJson(QString jsonString); qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -52,10 +51,18 @@ public: void setName(QString* name); + virtual bool isSet() override; + private: qint64 center_frequency; + bool m_center_frequency_isSet; + QString* type; + bool m_type_isSet; + QString* name; + bool m_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.cpp b/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.cpp index 6ff8ac8ae..ef1493465 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresetTransfer::SWGPresetTransfer(QString* json) { +SWGPresetTransfer::SWGPresetTransfer(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresetTransfer::SWGPresetTransfer() { @@ -38,20 +38,21 @@ SWGPresetTransfer::~SWGPresetTransfer() { void SWGPresetTransfer::init() { device_set_index = 0; + m_device_set_index_isSet = false; preset = new SWGPresetIdentifier(); + m_preset_isSet = false; } void SWGPresetTransfer::cleanup() { - - if(preset != nullptr) { + if(preset != nullptr) { delete preset; } } SWGPresetTransfer* -SWGPresetTransfer::fromJson(QString &json) { +SWGPresetTransfer::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -60,28 +61,31 @@ SWGPresetTransfer::fromJson(QString &json) { } void -SWGPresetTransfer::fromJsonObject(QJsonObject &pJson) { +SWGPresetTransfer::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&device_set_index, pJson["deviceSetIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&preset, pJson["preset"], "SWGPresetIdentifier", "SWGPresetIdentifier"); + } QString SWGPresetTransfer::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresetTransfer::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("deviceSetIndex", QJsonValue(device_set_index)); - - toJsonValue(QString("preset"), preset, obj, QString("SWGPresetIdentifier")); + QJsonObject obj; + if(m_device_set_index_isSet){ + obj.insert("deviceSetIndex", QJsonValue(device_set_index)); + } + if((preset != nullptr) && (preset->isSet())){ + toJsonValue(QString("preset"), preset, obj, QString("SWGPresetIdentifier")); + } return obj; } @@ -93,6 +97,7 @@ SWGPresetTransfer::getDeviceSetIndex() { void SWGPresetTransfer::setDeviceSetIndex(qint32 device_set_index) { this->device_set_index = device_set_index; + this->m_device_set_index_isSet = true; } SWGPresetIdentifier* @@ -102,8 +107,18 @@ SWGPresetTransfer::getPreset() { void SWGPresetTransfer::setPreset(SWGPresetIdentifier* preset) { this->preset = preset; + this->m_preset_isSet = true; } +bool +SWGPresetTransfer::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_device_set_index_isSet){ isObjectUpdated = true; break;} + if(preset != nullptr && preset->isSet()){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.h b/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.h index ded7b50c1..d9aa191af 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresetTransfer.h @@ -12,7 +12,7 @@ /* * SWGPresetTransfer.h - * + * * Preset transfer to or from a device set */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresetTransfer: public SWGObject { public: SWGPresetTransfer(); - SWGPresetTransfer(QString* json); - virtual ~SWGPresetTransfer(); + SWGPresetTransfer(QString json); + ~SWGPresetTransfer(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresetTransfer* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresetTransfer* fromJson(QString jsonString); qint32 getDeviceSetIndex(); void setDeviceSetIndex(qint32 device_set_index); @@ -49,9 +48,15 @@ public: void setPreset(SWGPresetIdentifier* preset); + virtual bool isSet() override; + private: qint32 device_set_index; + bool m_device_set_index_isSet; + SWGPresetIdentifier* preset; + bool m_preset_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresets.cpp b/swagger/sdrangel/code/qt5/client/SWGPresets.cpp index f151aa86a..055a16bd3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresets.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPresets.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGPresets::SWGPresets(QString* json) { +SWGPresets::SWGPresets(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGPresets::SWGPresets() { @@ -38,16 +38,17 @@ SWGPresets::~SWGPresets() { void SWGPresets::init() { nb_groups = 0; + m_nb_groups_isSet = false; groups = new QList<SWGPresetGroup*>(); + m_groups_isSet = false; } void SWGPresets::cleanup() { - - if(groups != nullptr) { - QList<SWGPresetGroup*>* arr = groups; - foreach(SWGPresetGroup* o, *arr) { + if(groups != nullptr) { + auto arr = groups; + for(auto o: *arr) { delete o; } delete groups; @@ -55,7 +56,7 @@ SWGPresets::cleanup() { } SWGPresets* -SWGPresets::fromJson(QString &json) { +SWGPresets::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -64,32 +65,31 @@ SWGPresets::fromJson(QString &json) { } void -SWGPresets::fromJsonObject(QJsonObject &pJson) { +SWGPresets::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&nb_groups, pJson["nbGroups"], "qint32", ""); - ::SWGSDRangel::setValue(&groups, pJson["groups"], "QList", "SWGPresetGroup"); + ::SWGSDRangel::setValue(&groups, pJson["groups"], "QList", "SWGPresetGroup"); } QString SWGPresets::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGPresets::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("nbGroups", QJsonValue(nb_groups)); - - QJsonArray groupsJsonArray; - toJsonArray((QList<void*>*)groups, &groupsJsonArray, "groups", "SWGPresetGroup"); - obj->insert("groups", groupsJsonArray); + QJsonObject obj; + if(m_nb_groups_isSet){ + obj.insert("nbGroups", QJsonValue(nb_groups)); + } + if(groups->size() > 0){ + toJsonArray((QList<void*>*)groups, obj, "groups", "SWGPresetGroup"); + } return obj; } @@ -101,6 +101,7 @@ SWGPresets::getNbGroups() { void SWGPresets::setNbGroups(qint32 nb_groups) { this->nb_groups = nb_groups; + this->m_nb_groups_isSet = true; } QList<SWGPresetGroup*>* @@ -110,8 +111,18 @@ SWGPresets::getGroups() { void SWGPresets::setGroups(QList<SWGPresetGroup*>* groups) { this->groups = groups; + this->m_groups_isSet = true; } +bool +SWGPresets::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_nb_groups_isSet){ isObjectUpdated = true; break;} + if(groups->size() > 0){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGPresets.h b/swagger/sdrangel/code/qt5/client/SWGPresets.h index 3ac8f8729..b95d4060a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPresets.h +++ b/swagger/sdrangel/code/qt5/client/SWGPresets.h @@ -12,7 +12,7 @@ /* * SWGPresets.h - * + * * Settings presets */ @@ -27,21 +27,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGPresets: public SWGObject { public: SWGPresets(); - SWGPresets(QString* json); - virtual ~SWGPresets(); + SWGPresets(QString json); + ~SWGPresets(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGPresets* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGPresets* fromJson(QString jsonString); qint32 getNbGroups(); void setNbGroups(qint32 nb_groups); @@ -50,9 +49,15 @@ public: void setGroups(QList<SWGPresetGroup*>* groups); + virtual bool isSet() override; + private: qint32 nb_groups; + bool m_nb_groups_isSet; + QList<SWGPresetGroup*>* groups; + bool m_groups_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp index ca074c924..6a49c48de 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGRtlSdrSettings::SWGRtlSdrSettings(QString* json) { +SWGRtlSdrSettings::SWGRtlSdrSettings(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGRtlSdrSettings::SWGRtlSdrSettings() { @@ -38,24 +38,38 @@ SWGRtlSdrSettings::~SWGRtlSdrSettings() { void SWGRtlSdrSettings::init() { dev_sample_rate = 0; + m_dev_sample_rate_isSet = false; low_sample_rate = 0; + m_low_sample_rate_isSet = false; center_frequency = 0L; + m_center_frequency_isSet = false; gain = 0; + m_gain_isSet = false; lo_ppm_correction = 0; + m_lo_ppm_correction_isSet = false; log2_decim = 0; + m_log2_decim_isSet = false; fc_pos = 0; + m_fc_pos_isSet = false; dc_block = 0; + m_dc_block_isSet = false; iq_imbalance = 0; + m_iq_imbalance_isSet = false; agc = 0; + m_agc_isSet = false; no_mod_mode = 0; + m_no_mod_mode_isSet = false; transverter_mode = 0; + m_transverter_mode_isSet = false; transverter_delta_frequency = 0L; + m_transverter_delta_frequency_isSet = false; rf_bandwidth = 0; + m_rf_bandwidth_isSet = false; } void SWGRtlSdrSettings::cleanup() { - + @@ -72,7 +86,7 @@ SWGRtlSdrSettings::cleanup() { } SWGRtlSdrSettings* -SWGRtlSdrSettings::fromJson(QString &json) { +SWGRtlSdrSettings::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -81,64 +95,91 @@ SWGRtlSdrSettings::fromJson(QString &json) { } void -SWGRtlSdrSettings::fromJsonObject(QJsonObject &pJson) { +SWGRtlSdrSettings::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(&low_sample_rate, pJson["lowSampleRate"], "qint32", ""); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&gain, pJson["gain"], "qint32", ""); + ::SWGSDRangel::setValue(&lo_ppm_correction, pJson["loPpmCorrection"], "qint32", ""); + ::SWGSDRangel::setValue(&log2_decim, pJson["log2Decim"], "qint32", ""); + ::SWGSDRangel::setValue(&fc_pos, pJson["fcPos"], "qint32", ""); + ::SWGSDRangel::setValue(&dc_block, pJson["dcBlock"], "qint32", ""); + ::SWGSDRangel::setValue(&iq_imbalance, pJson["iqImbalance"], "qint32", ""); + ::SWGSDRangel::setValue(&agc, pJson["agc"], "qint32", ""); + ::SWGSDRangel::setValue(&no_mod_mode, pJson["noModMode"], "qint32", ""); + ::SWGSDRangel::setValue(&transverter_mode, pJson["transverterMode"], "qint32", ""); + ::SWGSDRangel::setValue(&transverter_delta_frequency, pJson["transverterDeltaFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&rf_bandwidth, pJson["rfBandwidth"], "qint32", ""); + } QString SWGRtlSdrSettings::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGRtlSdrSettings::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); - - obj->insert("lowSampleRate", QJsonValue(low_sample_rate)); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("gain", QJsonValue(gain)); - - obj->insert("loPpmCorrection", QJsonValue(lo_ppm_correction)); - - obj->insert("log2Decim", QJsonValue(log2_decim)); - - obj->insert("fcPos", QJsonValue(fc_pos)); - - obj->insert("dcBlock", QJsonValue(dc_block)); - - obj->insert("iqImbalance", QJsonValue(iq_imbalance)); - - obj->insert("agc", QJsonValue(agc)); - - obj->insert("noModMode", QJsonValue(no_mod_mode)); - - obj->insert("transverterMode", QJsonValue(transverter_mode)); - - obj->insert("transverterDeltaFrequency", QJsonValue(transverter_delta_frequency)); - - obj->insert("rfBandwidth", QJsonValue(rf_bandwidth)); + QJsonObject obj; + if(m_dev_sample_rate_isSet){ + obj.insert("devSampleRate", QJsonValue(dev_sample_rate)); + } + if(m_low_sample_rate_isSet){ + obj.insert("lowSampleRate", QJsonValue(low_sample_rate)); + } + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_gain_isSet){ + obj.insert("gain", QJsonValue(gain)); + } + if(m_lo_ppm_correction_isSet){ + obj.insert("loPpmCorrection", QJsonValue(lo_ppm_correction)); + } + if(m_log2_decim_isSet){ + obj.insert("log2Decim", QJsonValue(log2_decim)); + } + if(m_fc_pos_isSet){ + obj.insert("fcPos", QJsonValue(fc_pos)); + } + if(m_dc_block_isSet){ + obj.insert("dcBlock", QJsonValue(dc_block)); + } + if(m_iq_imbalance_isSet){ + obj.insert("iqImbalance", QJsonValue(iq_imbalance)); + } + if(m_agc_isSet){ + obj.insert("agc", QJsonValue(agc)); + } + if(m_no_mod_mode_isSet){ + obj.insert("noModMode", QJsonValue(no_mod_mode)); + } + if(m_transverter_mode_isSet){ + obj.insert("transverterMode", QJsonValue(transverter_mode)); + } + if(m_transverter_delta_frequency_isSet){ + obj.insert("transverterDeltaFrequency", QJsonValue(transverter_delta_frequency)); + } + if(m_rf_bandwidth_isSet){ + obj.insert("rfBandwidth", QJsonValue(rf_bandwidth)); + } return obj; } @@ -150,6 +191,7 @@ SWGRtlSdrSettings::getDevSampleRate() { void SWGRtlSdrSettings::setDevSampleRate(qint32 dev_sample_rate) { this->dev_sample_rate = dev_sample_rate; + this->m_dev_sample_rate_isSet = true; } qint32 @@ -159,6 +201,7 @@ SWGRtlSdrSettings::getLowSampleRate() { void SWGRtlSdrSettings::setLowSampleRate(qint32 low_sample_rate) { this->low_sample_rate = low_sample_rate; + this->m_low_sample_rate_isSet = true; } qint64 @@ -168,6 +211,7 @@ SWGRtlSdrSettings::getCenterFrequency() { void SWGRtlSdrSettings::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -177,6 +221,7 @@ SWGRtlSdrSettings::getGain() { void SWGRtlSdrSettings::setGain(qint32 gain) { this->gain = gain; + this->m_gain_isSet = true; } qint32 @@ -186,6 +231,7 @@ SWGRtlSdrSettings::getLoPpmCorrection() { void SWGRtlSdrSettings::setLoPpmCorrection(qint32 lo_ppm_correction) { this->lo_ppm_correction = lo_ppm_correction; + this->m_lo_ppm_correction_isSet = true; } qint32 @@ -195,6 +241,7 @@ SWGRtlSdrSettings::getLog2Decim() { void SWGRtlSdrSettings::setLog2Decim(qint32 log2_decim) { this->log2_decim = log2_decim; + this->m_log2_decim_isSet = true; } qint32 @@ -204,6 +251,7 @@ SWGRtlSdrSettings::getFcPos() { void SWGRtlSdrSettings::setFcPos(qint32 fc_pos) { this->fc_pos = fc_pos; + this->m_fc_pos_isSet = true; } qint32 @@ -213,6 +261,7 @@ SWGRtlSdrSettings::getDcBlock() { void SWGRtlSdrSettings::setDcBlock(qint32 dc_block) { this->dc_block = dc_block; + this->m_dc_block_isSet = true; } qint32 @@ -222,6 +271,7 @@ SWGRtlSdrSettings::getIqImbalance() { void SWGRtlSdrSettings::setIqImbalance(qint32 iq_imbalance) { this->iq_imbalance = iq_imbalance; + this->m_iq_imbalance_isSet = true; } qint32 @@ -231,6 +281,7 @@ SWGRtlSdrSettings::getAgc() { void SWGRtlSdrSettings::setAgc(qint32 agc) { this->agc = agc; + this->m_agc_isSet = true; } qint32 @@ -240,6 +291,7 @@ SWGRtlSdrSettings::getNoModMode() { void SWGRtlSdrSettings::setNoModMode(qint32 no_mod_mode) { this->no_mod_mode = no_mod_mode; + this->m_no_mod_mode_isSet = true; } qint32 @@ -249,6 +301,7 @@ SWGRtlSdrSettings::getTransverterMode() { void SWGRtlSdrSettings::setTransverterMode(qint32 transverter_mode) { this->transverter_mode = transverter_mode; + this->m_transverter_mode_isSet = true; } qint64 @@ -258,6 +311,7 @@ SWGRtlSdrSettings::getTransverterDeltaFrequency() { void SWGRtlSdrSettings::setTransverterDeltaFrequency(qint64 transverter_delta_frequency) { this->transverter_delta_frequency = transverter_delta_frequency; + this->m_transverter_delta_frequency_isSet = true; } qint32 @@ -267,8 +321,30 @@ SWGRtlSdrSettings::getRfBandwidth() { void SWGRtlSdrSettings::setRfBandwidth(qint32 rf_bandwidth) { this->rf_bandwidth = rf_bandwidth; + this->m_rf_bandwidth_isSet = true; } +bool +SWGRtlSdrSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_low_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_gain_isSet){ isObjectUpdated = true; break;} + if(m_lo_ppm_correction_isSet){ isObjectUpdated = true; break;} + if(m_log2_decim_isSet){ isObjectUpdated = true; break;} + if(m_fc_pos_isSet){ isObjectUpdated = true; break;} + if(m_dc_block_isSet){ isObjectUpdated = true; break;} + if(m_iq_imbalance_isSet){ isObjectUpdated = true; break;} + if(m_agc_isSet){ isObjectUpdated = true; break;} + if(m_no_mod_mode_isSet){ isObjectUpdated = true; break;} + if(m_transverter_mode_isSet){ isObjectUpdated = true; break;} + if(m_transverter_delta_frequency_isSet){ isObjectUpdated = true; break;} + if(m_rf_bandwidth_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h index 2d1c767eb..646b642cc 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h @@ -12,7 +12,7 @@ /* * SWGRtlSdrSettings.h - * + * * RTLSDR */ @@ -25,21 +25,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGRtlSdrSettings: public SWGObject { public: SWGRtlSdrSettings(); - SWGRtlSdrSettings(QString* json); - virtual ~SWGRtlSdrSettings(); + SWGRtlSdrSettings(QString json); + ~SWGRtlSdrSettings(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGRtlSdrSettings* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGRtlSdrSettings* fromJson(QString jsonString); qint32 getDevSampleRate(); void setDevSampleRate(qint32 dev_sample_rate); @@ -84,21 +83,51 @@ public: void setRfBandwidth(qint32 rf_bandwidth); + virtual bool isSet() override; + private: qint32 dev_sample_rate; + bool m_dev_sample_rate_isSet; + qint32 low_sample_rate; + bool m_low_sample_rate_isSet; + qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 gain; + bool m_gain_isSet; + qint32 lo_ppm_correction; + bool m_lo_ppm_correction_isSet; + qint32 log2_decim; + bool m_log2_decim_isSet; + qint32 fc_pos; + bool m_fc_pos_isSet; + qint32 dc_block; + bool m_dc_block_isSet; + qint32 iq_imbalance; + bool m_iq_imbalance_isSet; + qint32 agc; + bool m_agc_isSet; + qint32 no_mod_mode; + bool m_no_mod_mode_isSet; + qint32 transverter_mode; + bool m_transverter_mode_isSet; + qint64 transverter_delta_frequency; + bool m_transverter_delta_frequency_isSet; + qint32 rf_bandwidth; + bool m_rf_bandwidth_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.cpp b/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.cpp index 3b49852bc..3a3a95701 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGSamplingDevice::SWGSamplingDevice(QString* json) { +SWGSamplingDevice::SWGSamplingDevice(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGSamplingDevice::SWGSamplingDevice() { @@ -38,42 +38,49 @@ SWGSamplingDevice::~SWGSamplingDevice() { void SWGSamplingDevice::init() { index = 0; + m_index_isSet = false; hw_type = new QString(""); + m_hw_type_isSet = false; tx = 0; + m_tx_isSet = false; nb_streams = 0; + m_nb_streams_isSet = false; stream_index = 0; + m_stream_index_isSet = false; sequence = 0; + m_sequence_isSet = false; serial = new QString(""); + m_serial_isSet = false; center_frequency = 0L; + m_center_frequency_isSet = false; bandwidth = 0; + m_bandwidth_isSet = false; state = new QString(""); + m_state_isSet = false; } void SWGSamplingDevice::cleanup() { - - if(hw_type != nullptr) { + if(hw_type != nullptr) { delete hw_type; } - - if(serial != nullptr) { + if(serial != nullptr) { delete serial; } - - if(state != nullptr) { + if(state != nullptr) { delete state; } } SWGSamplingDevice* -SWGSamplingDevice::fromJson(QString &json) { +SWGSamplingDevice::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -82,52 +89,71 @@ SWGSamplingDevice::fromJson(QString &json) { } void -SWGSamplingDevice::fromJsonObject(QJsonObject &pJson) { +SWGSamplingDevice::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&index, pJson["index"], "qint32", ""); + ::SWGSDRangel::setValue(&hw_type, pJson["hwType"], "QString", "QString"); + ::SWGSDRangel::setValue(&tx, pJson["tx"], "qint32", ""); + ::SWGSDRangel::setValue(&nb_streams, pJson["nbStreams"], "qint32", ""); + ::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&sequence, pJson["sequence"], "qint32", ""); + ::SWGSDRangel::setValue(&serial, pJson["serial"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); + ::SWGSDRangel::setValue(&bandwidth, pJson["bandwidth"], "qint32", ""); + ::SWGSDRangel::setValue(&state, pJson["state"], "QString", "QString"); + } QString SWGSamplingDevice::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGSamplingDevice::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - obj->insert("index", QJsonValue(index)); - - toJsonValue(QString("hwType"), hw_type, obj, QString("QString")); - - obj->insert("tx", QJsonValue(tx)); - - obj->insert("nbStreams", QJsonValue(nb_streams)); - - obj->insert("streamIndex", QJsonValue(stream_index)); - - obj->insert("sequence", QJsonValue(sequence)); - - toJsonValue(QString("serial"), serial, obj, QString("QString")); - - obj->insert("centerFrequency", QJsonValue(center_frequency)); - - obj->insert("bandwidth", QJsonValue(bandwidth)); - - toJsonValue(QString("state"), state, obj, QString("QString")); + QJsonObject obj; + if(m_index_isSet){ + obj.insert("index", QJsonValue(index)); + } + if(hw_type != nullptr && *hw_type != QString("")){ + toJsonValue(QString("hwType"), hw_type, obj, QString("QString")); + } + if(m_tx_isSet){ + obj.insert("tx", QJsonValue(tx)); + } + if(m_nb_streams_isSet){ + obj.insert("nbStreams", QJsonValue(nb_streams)); + } + if(m_stream_index_isSet){ + obj.insert("streamIndex", QJsonValue(stream_index)); + } + if(m_sequence_isSet){ + obj.insert("sequence", QJsonValue(sequence)); + } + if(serial != nullptr && *serial != QString("")){ + toJsonValue(QString("serial"), serial, obj, QString("QString")); + } + if(m_center_frequency_isSet){ + obj.insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_bandwidth_isSet){ + obj.insert("bandwidth", QJsonValue(bandwidth)); + } + if(state != nullptr && *state != QString("")){ + toJsonValue(QString("state"), state, obj, QString("QString")); + } return obj; } @@ -139,6 +165,7 @@ SWGSamplingDevice::getIndex() { void SWGSamplingDevice::setIndex(qint32 index) { this->index = index; + this->m_index_isSet = true; } QString* @@ -148,6 +175,7 @@ SWGSamplingDevice::getHwType() { void SWGSamplingDevice::setHwType(QString* hw_type) { this->hw_type = hw_type; + this->m_hw_type_isSet = true; } qint32 @@ -157,6 +185,7 @@ SWGSamplingDevice::getTx() { void SWGSamplingDevice::setTx(qint32 tx) { this->tx = tx; + this->m_tx_isSet = true; } qint32 @@ -166,6 +195,7 @@ SWGSamplingDevice::getNbStreams() { void SWGSamplingDevice::setNbStreams(qint32 nb_streams) { this->nb_streams = nb_streams; + this->m_nb_streams_isSet = true; } qint32 @@ -175,6 +205,7 @@ SWGSamplingDevice::getStreamIndex() { void SWGSamplingDevice::setStreamIndex(qint32 stream_index) { this->stream_index = stream_index; + this->m_stream_index_isSet = true; } qint32 @@ -184,6 +215,7 @@ SWGSamplingDevice::getSequence() { void SWGSamplingDevice::setSequence(qint32 sequence) { this->sequence = sequence; + this->m_sequence_isSet = true; } QString* @@ -193,6 +225,7 @@ SWGSamplingDevice::getSerial() { void SWGSamplingDevice::setSerial(QString* serial) { this->serial = serial; + this->m_serial_isSet = true; } qint64 @@ -202,6 +235,7 @@ SWGSamplingDevice::getCenterFrequency() { void SWGSamplingDevice::setCenterFrequency(qint64 center_frequency) { this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; } qint32 @@ -211,6 +245,7 @@ SWGSamplingDevice::getBandwidth() { void SWGSamplingDevice::setBandwidth(qint32 bandwidth) { this->bandwidth = bandwidth; + this->m_bandwidth_isSet = true; } QString* @@ -220,8 +255,26 @@ SWGSamplingDevice::getState() { void SWGSamplingDevice::setState(QString* state) { this->state = state; + this->m_state_isSet = true; } +bool +SWGSamplingDevice::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_index_isSet){ isObjectUpdated = true; break;} + if(hw_type != nullptr && *hw_type != QString("")){ isObjectUpdated = true; break;} + if(m_tx_isSet){ isObjectUpdated = true; break;} + if(m_nb_streams_isSet){ isObjectUpdated = true; break;} + if(m_stream_index_isSet){ isObjectUpdated = true; break;} + if(m_sequence_isSet){ isObjectUpdated = true; break;} + if(serial != nullptr && *serial != QString("")){ isObjectUpdated = true; break;} + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_bandwidth_isSet){ isObjectUpdated = true; break;} + if(state != nullptr && *state != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.h b/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.h index 1bf3472d1..414b2482d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.h +++ b/swagger/sdrangel/code/qt5/client/SWGSamplingDevice.h @@ -12,7 +12,7 @@ /* * SWGSamplingDevice.h - * + * * Information about a logical device available from an attached hardware device that can be used as a sampling device */ @@ -26,21 +26,20 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGSamplingDevice: public SWGObject { public: SWGSamplingDevice(); - SWGSamplingDevice(QString* json); - virtual ~SWGSamplingDevice(); + SWGSamplingDevice(QString json); + ~SWGSamplingDevice(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGSamplingDevice* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGSamplingDevice* fromJson(QString jsonString); qint32 getIndex(); void setIndex(qint32 index); @@ -73,17 +72,39 @@ public: void setState(QString* state); + virtual bool isSet() override; + private: qint32 index; + bool m_index_isSet; + QString* hw_type; + bool m_hw_type_isSet; + qint32 tx; + bool m_tx_isSet; + qint32 nb_streams; + bool m_nb_streams_isSet; + qint32 stream_index; + bool m_stream_index_isSet; + qint32 sequence; + bool m_sequence_isSet; + QString* serial; + bool m_serial_isSet; + qint64 center_frequency; + bool m_center_frequency_isSet; + qint32 bandwidth; + bool m_bandwidth_isSet; + QString* state; + bool m_state_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.cpp b/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.cpp index b1dc8e932..f1c3d6050 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.cpp @@ -22,9 +22,9 @@ namespace SWGSDRangel { -SWGSuccessResponse::SWGSuccessResponse(QString* json) { +SWGSuccessResponse::SWGSuccessResponse(QString json) { init(); - this->fromJson(*json); + this->fromJson(json); } SWGSuccessResponse::SWGSuccessResponse() { @@ -38,18 +38,18 @@ SWGSuccessResponse::~SWGSuccessResponse() { void SWGSuccessResponse::init() { message = new QString(""); + m_message_isSet = false; } void SWGSuccessResponse::cleanup() { - - if(message != nullptr) { + if(message != nullptr) { delete message; } } SWGSuccessResponse* -SWGSuccessResponse::fromJson(QString &json) { +SWGSuccessResponse::fromJson(QString json) { QByteArray array (json.toStdString().c_str()); QJsonDocument doc = QJsonDocument::fromJson(array); QJsonObject jsonObject = doc.object(); @@ -58,25 +58,26 @@ SWGSuccessResponse::fromJson(QString &json) { } void -SWGSuccessResponse::fromJsonObject(QJsonObject &pJson) { +SWGSuccessResponse::fromJsonObject(QJsonObject pJson) { ::SWGSDRangel::setValue(&message, pJson["message"], "QString", "QString"); + } QString SWGSuccessResponse::asJson () { - QJsonObject* obj = this->asJsonObject(); - - QJsonDocument doc(*obj); + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); QByteArray bytes = doc.toJson(); return QString(bytes); } -QJsonObject* +QJsonObject SWGSuccessResponse::asJsonObject() { - QJsonObject* obj = new QJsonObject(); - - toJsonValue(QString("message"), message, obj, QString("QString")); + QJsonObject obj; + if(message != nullptr && *message != QString("")){ + toJsonValue(QString("message"), message, obj, QString("QString")); + } return obj; } @@ -88,8 +89,17 @@ SWGSuccessResponse::getMessage() { void SWGSuccessResponse::setMessage(QString* message) { this->message = message; + this->m_message_isSet = true; } +bool +SWGSuccessResponse::isSet(){ + bool isObjectUpdated = false; + do{ + if(message != nullptr && *message != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} } diff --git a/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.h b/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.h index 41086e37b..ff92afe80 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.h +++ b/swagger/sdrangel/code/qt5/client/SWGSuccessResponse.h @@ -12,7 +12,7 @@ /* * SWGSuccessResponse.h - * + * * */ @@ -26,28 +26,31 @@ #include "SWGObject.h" - namespace SWGSDRangel { class SWGSuccessResponse: public SWGObject { public: SWGSuccessResponse(); - SWGSuccessResponse(QString* json); - virtual ~SWGSuccessResponse(); + SWGSuccessResponse(QString json); + ~SWGSuccessResponse(); void init(); void cleanup(); QString asJson (); - QJsonObject* asJsonObject(); - void fromJsonObject(QJsonObject &json); - SWGSuccessResponse* fromJson(QString &jsonString); + QJsonObject asJsonObject(); + void fromJsonObject(QJsonObject json); + SWGSuccessResponse* fromJson(QString jsonString); QString* getMessage(); void setMessage(QString* message); + virtual bool isSet() override; + private: QString* message; + bool m_message_isSet; + }; }