summaryrefslogtreecommitdiffstats
path: root/pidl/TODO
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:29 +0000
commit4f5791ebd03eaec1c7da0865a383175b05102712 (patch)
tree8ce7b00f7a76baa386372422adebbe64510812d4 /pidl/TODO
parentInitial commit. (diff)
downloadsamba-4f5791ebd03eaec1c7da0865a383175b05102712.tar.xz
samba-4f5791ebd03eaec1c7da0865a383175b05102712.zip
Adding upstream version 2:4.17.12+dfsg.upstream/2%4.17.12+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'pidl/TODO')
-rw-r--r--pidl/TODO44
1 files changed, 44 insertions, 0 deletions
diff --git a/pidl/TODO b/pidl/TODO
new file mode 100644
index 0000000..36ae5e9
--- /dev/null
+++ b/pidl/TODO
@@ -0,0 +1,44 @@
+- warn when union instances don't have a discriminant
+
+- true multiple dimension array / strings in arrays support
+
+- compatibility mode for generating MIDL-readable data:
+ - strip out pidl-specific properties
+
+- make bitmap an optional attribute on enum
+- support nested elements
+- support typedefs properly (e.g. allow "typedef void **bla;")
+- make typedefs generate real typedefs
+- improve represent_as(): allow it to be used for arrays and other complex
+ types
+
+- --explain-ndr option that dumps out parse tree ?
+
+- separate tables for NDR and DCE/RPC
+ - maybe no tables for NDR at all? we only need them for ndrdump
+ and that can use dlsym()
+
+- allow data structures outside of interfaces
+
+- mem_ctx in the interface rather than as struct ndr member.
+
+- real typelibs
+
+- fix [in,out] handling and allocation for samba3:
+ - add inout
+ - make NULL to mean "allocate me"
+ - remove NDR_AUTO_REF_ALLOC flag
+
+- automatic test generator based on IDL pointer types
+
+- support converting structs to tuples in Python rather than objects
+- convert structs with a single mattering member to that member directly, e.g.:
+ struct bar {
+ int size;
+ [size_is(size)] uint32 *array;
+ };
+
+ should be converted to an array of uint32's
+
+- python: fill in size members automatically in some places if the struct isn't being returned
+ (so we don't have to cope with the array growing)