001package org.kernel.kmod; 002 003public @de.dentrassi.varlink.spi.Interface(name = "org.kernel.kmod", factory = KmodImpl.Factory.class) interface Kmod { 004 public static class Parameter { 005 private java.lang.String name; 006 007 public java.lang.String getName() { 008 return this.name; 009 } 010 011 public void setName(java.lang.String name) { 012 this.name = name; 013 } 014 015 private java.lang.String type; 016 017 public java.lang.String getType() { 018 return this.type; 019 } 020 021 public void setType(java.lang.String type) { 022 this.type = type; 023 } 024 025 private java.lang.String description; 026 027 public java.lang.String getDescription() { 028 return this.description; 029 } 030 031 public void setDescription(java.lang.String description) { 032 this.description = description; 033 } 034 } 035 036 public static class ModuleInfo { 037 private java.lang.String name; 038 039 public java.lang.String getName() { 040 return this.name; 041 } 042 043 public void setName(java.lang.String name) { 044 this.name = name; 045 } 046 047 private java.lang.String description; 048 049 public java.lang.String getDescription() { 050 return this.description; 051 } 052 053 public void setDescription(java.lang.String description) { 054 this.description = description; 055 } 056 057 private java.lang.String path; 058 059 public java.lang.String getPath() { 060 return this.path; 061 } 062 063 public void setPath(java.lang.String path) { 064 this.path = path; 065 } 066 067 private java.lang.String author; 068 069 public java.lang.String getAuthor() { 070 return this.author; 071 } 072 073 public void setAuthor(java.lang.String author) { 074 this.author = author; 075 } 076 077 private java.lang.String license; 078 079 public java.lang.String getLicense() { 080 return this.license; 081 } 082 083 public void setLicense(java.lang.String license) { 084 this.license = license; 085 } 086 087 private java.lang.String version; 088 089 public java.lang.String getVersion() { 090 return this.version; 091 } 092 093 public void setVersion(java.lang.String version) { 094 this.version = version; 095 } 096 097 private java.lang.String srcversion; 098 099 public java.lang.String getSrcversion() { 100 return this.srcversion; 101 } 102 103 public void setSrcversion(java.lang.String srcversion) { 104 this.srcversion = srcversion; 105 } 106 107 private java.lang.String vermagic; 108 109 public java.lang.String getVermagic() { 110 return this.vermagic; 111 } 112 113 public void setVermagic(java.lang.String vermagic) { 114 this.vermagic = vermagic; 115 } 116 117 private java.lang.String depends; 118 119 public java.lang.String getDepends() { 120 return this.depends; 121 } 122 123 public void setDepends(java.lang.String depends) { 124 this.depends = depends; 125 } 126 127 private java.util.List<java.lang.String> aliases; 128 129 public java.util.List<java.lang.String> getAliases() { 130 return this.aliases; 131 } 132 133 public void setAliases(java.util.List<java.lang.String> aliases) { 134 this.aliases = aliases; 135 } 136 137 private java.util.List<Parameter> parameters; 138 139 public java.util.List<Parameter> getParameters() { 140 return this.parameters; 141 } 142 143 public void setParameters(java.util.List<Parameter> parameters) { 144 this.parameters = parameters; 145 } 146 } 147 148 public static class LoadedModule { 149 private java.lang.String name; 150 151 public java.lang.String getName() { 152 return this.name; 153 } 154 155 public void setName(java.lang.String name) { 156 this.name = name; 157 } 158 159 private java.lang.Long size; 160 161 public java.lang.Long getSize() { 162 return this.size; 163 } 164 165 public void setSize(java.lang.Long size) { 166 this.size = size; 167 } 168 169 private java.lang.Long use_count; 170 171 public java.lang.Long getUse_count() { 172 return this.use_count; 173 } 174 175 public void setUse_count(java.lang.Long use_count) { 176 this.use_count = use_count; 177 } 178 179 private java.util.List<java.lang.String> used_by; 180 181 public java.util.List<java.lang.String> getUsed_by() { 182 return this.used_by; 183 } 184 185 public void setUsed_by(java.util.List<java.lang.String> used_by) { 186 this.used_by = used_by; 187 } 188 } 189 190 public static class UnknownModuleException extends java.lang.RuntimeException { 191 private static final long serialVersionUID = 1L; 192 193 public static class Parameters { 194 } 195 196 private final Parameters parameters; 197 198 public UnknownModuleException(final Parameters parameters) { 199 this.parameters = parameters; 200 } 201 202 public Parameters getParameters() { 203 return this.parameters; 204 } 205 } 206 207 public static class NoInfoAvailableException extends java.lang.RuntimeException { 208 private static final long serialVersionUID = 1L; 209 210 public static class Parameters { 211 } 212 213 private final Parameters parameters; 214 215 public NoInfoAvailableException(final Parameters parameters) { 216 this.parameters = parameters; 217 } 218 219 public Parameters getParameters() { 220 return this.parameters; 221 } 222 } 223 224 public static class InvalidParameterException extends java.lang.RuntimeException { 225 private static final long serialVersionUID = 1L; 226 227 public static class Parameters { 228 } 229 230 private final Parameters parameters; 231 232 public InvalidParameterException(final Parameters parameters) { 233 this.parameters = parameters; 234 } 235 236 public Parameters getParameters() { 237 return this.parameters; 238 } 239 } 240 241 public interface Async { 242 public java.util.concurrent.CompletableFuture<ModuleInfo> info(final java.lang.String module); 243 244 public java.util.concurrent.CompletableFuture<java.util.List<LoadedModule>> list(); 245 } 246 247 public Async async(); 248 249 public interface Sync { 250 public ModuleInfo info(final java.lang.String module); 251 252 public java.util.List<LoadedModule> list(); 253 } 254 255 public default Sync sync() { 256 return new Sync() { 257 public ModuleInfo info(final java.lang.String module) { 258 return de.dentrassi.varlink.spi.Syncer.await(async().info(module)); 259 } 260 261 public java.util.List<LoadedModule> list() { 262 return de.dentrassi.varlink.spi.Syncer.await(async().list()); 263 } 264 }; 265 } 266}