// Copyright 2020 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

// (Re-)generated by schema tool
// >>>> DO NOT CHANGE THIS FILE! <<<<
// Change the json schema instead

#![allow(dead_code)]

use wasmlib::*;
use crate::*;

pub struct StoreStringCall {
	pub func: ScFunc,
	pub params: MutableStoreStringParams,
}

pub struct GetStringCall {
	pub func: ScView,
	pub results: ImmutableGetStringResults,
}

pub struct ScFuncs {
}

impl ScFuncs {
    pub fn store_string(_ctx: &dyn ScFuncCallContext) -> StoreStringCall {
        let mut f = StoreStringCall {
            func: ScFunc::new(HSC_NAME, HFUNC_STORE_STRING),
            params: MutableStoreStringParams { proxy: Proxy::nil() },
        };
        ScFunc::link_params(&mut f.params.proxy, &f.func);
        f
    }

    pub fn get_string(_ctx: &dyn ScViewCallContext) -> GetStringCall {
        let mut f = GetStringCall {
            func: ScView::new(HSC_NAME, HVIEW_GET_STRING),
            results: ImmutableGetStringResults { proxy: Proxy::nil() },
        };
        ScView::link_results(&mut f.results.proxy, &f.func);
        f
    }
}
