aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sdp/ao_object_setter.d
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sdp/ao_object_setter.d')
-rw-r--r--lib/sdp/ao_object_setter.d96
1 files changed, 91 insertions, 5 deletions
diff --git a/lib/sdp/ao_object_setter.d b/lib/sdp/ao_object_setter.d
index ff76143..ce4611d 100644
--- a/lib/sdp/ao_object_setter.d
+++ b/lib/sdp/ao_object_setter.d
@@ -1,10 +1,21 @@
-/*
+/+
object setter
ao_object_setter.d
-*/
++/
mixin template ObjectSetters() {
- class ObjectAbstractSet {
+ struct ObjectAbstractSet {
import std.conv : to;
+ mixin Structs;
+ ObjComposite contents_comment_new(in string object) {
+ ObjComposite object_set;
+ object_set.use = "comment";
+ object_set.of = "comment";
+ object_set.is_a = "comment";
+ object_set.object = object;
+ // does not have .attrib;
+ // does not have .ocn
+ return object_set;
+ }
string[string] contents_comment(in string object) {
string[string] object_set;
object_set["use"] = "comment";
@@ -13,6 +24,28 @@ mixin template ObjectSetters() {
object_set["obj"] = object;
return object_set;
}
+ ObjComposite contents_heading_new(
+ in int type,
+ in string object,
+ in string attrib,
+ in int ocn,
+ in string lev,
+ in string lvn,
+ in string lcn,
+ ) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "para";
+ object_set.is_a = "heading";
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ object_set.heading.type = to!string(type);
+ object_set.heading.lev = to!string(lev);
+ object_set.heading.lvn = to!string(lvn);
+ object_set.heading.lcn = to!string(lcn);
+ return object_set;
+ }
string[string] contents_heading(
in int type,
in string object,
@@ -35,8 +68,29 @@ mixin template ObjectSetters() {
object_set["attrib"] = attrib;
return object_set;
}
+ ObjComposite contents_para_new(
+ in string is_a,
+ in string object,
+ in string attrib,
+ in int ocn,
+ in string indent_first,
+ in string indent_second,
+ in bool bullet
+ ) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "para";
+ object_set.is_a = "heading";
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ object_set.para.indent_first = indent_first;
+ object_set.para.indent_second = indent_second;
+ object_set.para.bullet = to!string(bullet);
+ return object_set;
+ }
string[string] contents_para(
- in string type,
+ in string is_a,
in string object,
in string attrib,
in int ocn,
@@ -47,7 +101,7 @@ mixin template ObjectSetters() {
string[string] object_set;
object_set["use"] = "content";
object_set["of"] = "para";
- object_set["is"] = type;
+ object_set["is"] = is_a;
object_set["obj"] = object;
object_set["ocn"] = (ocn==0) ? "" : to!string(ocn);
object_set["indent_first"] = indent_first;
@@ -56,6 +110,22 @@ mixin template ObjectSetters() {
object_set["attrib"] = attrib;
return object_set;
}
+ ObjComposite contents_block_new(
+ in string type,
+ in string object,
+ in string attrib,
+ in int ocn
+ ) {
+ ObjComposite object_set;
+ // does not have .attrib;
+ object_set.use = "content";
+ object_set.of = "block";
+ object_set.is_a = type;
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ return object_set;
+ }
string[string] contents_block(
in string type,
in string object,
@@ -71,6 +141,22 @@ mixin template ObjectSetters() {
object_set["attrib"] = attrib;
return object_set;
}
+ ObjComposite contents_block_ocn_string_new(
+ in string type,
+ in string object,
+ in string ocn,
+ in string node
+ ) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "block";
+ object_set.is_a = type;
+ object_set.object = object;
+ object_set.ocn = ocn;
+ object_set.block_ocn_string.node = node;
+ // object_set.attrib = attrib;
+ return object_set;
+ }
string[string] contents_block_ocn_string(
in string type,
in string object,