Struct cyfs_base::NamedObjectBase
source · [−]pub struct NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,{ /* private fields */ }
Implementations
sourceimpl NamedObjectBase<NamedObjType<ActionDescContent, ActionBodyContent>>
impl NamedObjectBase<NamedObjType<ActionDescContent, ActionBodyContent>>
pub fn new() -> ActionBuilder
sourceimpl NamedObjectBase<NamedObjType<AppGroupDescContent, AppGroupBodyContent>>
impl NamedObjectBase<NamedObjType<AppGroupDescContent, AppGroupBodyContent>>
pub fn new() -> AppGroupBuilder
sourceimpl NamedObjectBase<NamedObjType<ContractDescContent<ContractData>, ContractBodyContent<ContractData>>>
impl NamedObjectBase<NamedObjType<ContractDescContent<ContractData>, ContractBodyContent<ContractData>>>
pub fn new(
owner: ObjectId,
author: ObjectId,
desc: ContractDescContent<ContractData>,
body: ContractBodyContent<ContractData>
) -> ContractBuilder
sourceimpl NamedObjectBase<NamedObjType<DeviceDescContent, DeviceBodyContent>>
impl NamedObjectBase<NamedObjType<DeviceDescContent, DeviceBodyContent>>
pub fn new(
owner: Option<ObjectId>,
unique_id: UniqueId,
endpoints: Vec<Endpoint>,
sn_list: Vec<DeviceId>,
passive_pn_list: Vec<DeviceId>,
public_key: PublicKey,
area: Area,
category: DeviceCategory
) -> DeviceBuilder
pub fn connect_info(&self) -> &DeviceBodyContent
pub fn mut_connect_info(&mut self) -> &mut DeviceBodyContent
pub fn name(&self) -> Option<&str>
pub fn set_name(&mut self, name: Option<String>)
pub fn bdt_version(&self) -> Option<u8>
pub fn set_bdt_version(&mut self, bdt_version: Option<u8>)
pub fn category(&self) -> BuckyResult<DeviceCategory>
sourceimpl NamedObjectBase<NamedObjType<DirDescContent, DirBodyContent>>
impl NamedObjectBase<NamedObjType<DirDescContent, DirBodyContent>>
pub fn new(
dir_attributes: Attributes,
obj_desc: NDNObjectInfo,
obj_map: HashMap<ObjectId, Vec<u8>>
) -> DirBuilder
pub fn new_with_chunk_body(
dir_attributes: Attributes,
obj_desc: NDNObjectInfo,
chunk_body: ChunkId
) -> DirBuilder
pub fn get_data_from_body(&self, id: &ObjectId) -> Option<&Vec<u8>>
pub fn check_and_fix_desc_limit(&mut self) -> BuckyResult<()>
sourceimpl<O> NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
impl<O> NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
pub fn new_builder(desc: O::DescType) -> NamedObjectBaseBuilder<O>
pub fn default(desc: O::DescType) -> Self
pub fn new_desc(
desc: O::DescType,
signs: ObjectSigns,
nonce: Option<u128>
) -> Self
sourcepub fn split(
self
) -> (O::DescType, Option<ObjectMutBody<O::ContentType, O>>, ObjectSigns, Option<u128>)
pub fn split(
self
) -> (O::DescType, Option<ObjectMutBody<O::ContentType, O>>, ObjectSigns, Option<u128>)
大卸八块,映射成其他类型,Move语义
- desc: O::DescType,
- body: Option<ObjectMutBody<O::ContentType, O>>
- signs: ObjectSigns,
- nonce: Option
,
可进一步对body.unwrap().split()
pub fn into_desc(self) -> O::DescType
pub fn into_body(self) -> Option<ObjectMutBody<O::ContentType, O>>
pub fn get_obj_update_time(&self) -> u64
sourceimpl NamedObjectBase<NamedObjType<ObjectMapDescContent, ObjectMapBodyContent>>
impl NamedObjectBase<NamedObjType<ObjectMapDescContent, ObjectMapBodyContent>>
pub fn new(
content_type: ObjectMapSimpleContentType,
owner: Option<ObjectId>,
dec_id: Option<ObjectId>
) -> ObjectMapBuilder
pub fn count(&self) -> u64
pub fn object_id(&self) -> ObjectId
pub fn content_type(&self) -> ObjectMapSimpleContentType
pub fn mode(&self) -> ObjectMapContentMode
pub fn class(&self) -> ObjectMapClass
pub fn depth(&self) -> u8
pub fn metadata(&self) -> ObjectMapMetaData
pub fn cached_object_id(&self) -> Option<ObjectId>
pub fn direct_set_object_id_on_init(&self, object_id: &ObjectId)
pub fn flush_id(&self) -> ObjectId
pub fn flush_id_without_cache(&self) -> ObjectId
pub async fn convert_to_simple(
&mut self,
cache: &ObjectMapOpEnvCacheRef
) -> BuckyResult<()>
pub async fn convert_to_hub(
&mut self,
cache: &ObjectMapOpEnvCacheRef
) -> BuckyResult<()>
pub fn into_simple(self) -> ObjectMapSimpleContent
pub async fn get_or_create_child_object_map(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
content_type: ObjectMapSimpleContentType,
auto_create: ObjectMapCreateStrategy
) -> BuckyResult<Option<ObjectMapRef>>
pub async fn list(
&self,
cache: &ObjectMapOpEnvCacheRef,
list: &mut ObjectMapContentList
) -> BuckyResult<u64>
pub async fn list_direct(
&self,
cache: &ObjectMapOpEnvCacheRef
) -> BuckyResult<ObjectMapContentList>
pub async fn list_subs(
&self,
cache: &ObjectMapOpEnvCacheRef,
list: &mut Vec<ObjectId>
) -> BuckyResult<u64>
pub async fn next(&self, it: &mut ObjectMapIterator) -> BuckyResult<()>
pub async fn get_by_key(
&self,
cache: &ObjectMapOpEnvCacheRef,
key: &str
) -> BuckyResult<Option<ObjectId>>
pub async fn insert_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
value: &ObjectId
) -> BuckyResult<()>
pub async fn set_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
value: &ObjectId,
prev_value: &Option<ObjectId>,
auto_insert: bool
) -> BuckyResult<Option<ObjectId>>
pub async fn remove_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
prev_value: &Option<ObjectId>
) -> BuckyResult<Option<ObjectId>>
pub async fn diff_get_by_key(
&self,
cache: &ObjectMapOpEnvCacheRef,
key: &str
) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn diff_insert_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
value: &ObjectMapDiffMapItem
) -> BuckyResult<()>
pub async fn diff_set_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
value: &ObjectMapDiffMapItem,
prev_value: &Option<ObjectMapDiffMapItem>,
auto_insert: bool
) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn diff_remove_with_key(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
key: &str,
prev_value: &Option<ObjectMapDiffMapItem>
) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn contains(
&self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectId
) -> BuckyResult<bool>
pub async fn insert(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectId
) -> BuckyResult<bool>
pub async fn remove(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectId
) -> BuckyResult<bool>
pub async fn diff_contains(
&self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectMapDiffSetItem
) -> BuckyResult<bool>
pub async fn diff_insert(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectMapDiffSetItem
) -> BuckyResult<bool>
pub async fn diff_remove(
&mut self,
cache: &ObjectMapOpEnvCacheRef,
object_id: &ObjectMapDiffSetItem
) -> BuckyResult<bool>
pub async fn visit(&self, visitor: &mut impl ObjectMapVisitor) -> BuckyResult<()>
sourceimpl NamedObjectBase<OrgType>
impl NamedObjectBase<OrgType>
pub fn new(members: Vec<OrgMember>, directors: Vec<Director>) -> OrgBuilder
pub fn members(&self) -> &Vec<OrgMember>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
pub fn members_mut(&mut self) -> &mut Vec<OrgMember>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
sourceimpl NamedObjectBase<NamedObjType<PeopleDescContent, PeopleBodyContent>>
impl NamedObjectBase<NamedObjType<PeopleDescContent, PeopleBodyContent>>
pub fn new(
owner: Option<ObjectId>,
ood_list: Vec<DeviceId>,
public_key: PublicKey,
area: Option<Area>,
name: Option<String>,
icon: Option<FileId>
) -> PeopleBuilder
pub fn ood_work_mode(&self) -> OODWorkMode
pub fn set_ood_work_mode(&mut self, ood_work_mode: OODWorkMode)
pub fn ood_list(&self) -> &Vec<DeviceId>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
pub fn ood_list_mut(&mut self) -> &mut Vec<DeviceId>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
pub fn name(&self) -> Option<&str>
pub fn icon(&self) -> Option<&FileId>
pub fn set_name(&mut self, name: String)
pub fn set_icon(&mut self, icon: FileId)
sourceimpl NamedObjectBase<ProofOfServiceType>
impl NamedObjectBase<ProofOfServiceType>
pub fn new(
desc_content: ProofOfServiceDescContent<ProofData>
) -> ProofOfServiceBuilder
sourceimpl NamedObjectBase<TxType>
impl NamedObjectBase<TxType>
交易对象
new 传入 TxBody,注意 TxBody不是 Tx.body(),这个地方的命名有点冲突
new_multi_body 传入 Vec
pub fn new(
nonce: i64,
caller: TxCaller,
gas_coin_id: u8,
gas_price: u16,
max_fee: u32,
condition: Option<TxCondition>,
body: Vec<u8>,
data: Vec<u8>
) -> TxBuilder
pub fn verify_signature(&self, public_key: PublicKey) -> BuckyResult<bool>
pub async fn async_verify_signature(
&self,
public_key: PublicKey
) -> BuckyResult<bool>
pub fn sign(&mut self, secret: &PrivateKey) -> BuckyResult<()>
Trait Implementations
sourceimpl<O: Clone> Clone for NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
O::DescType: Clone,
O::ContentType: Clone,
impl<O: Clone> Clone for NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
O::DescType: Clone,
O::ContentType: Clone,
sourcefn clone(&self) -> NamedObjectBase<O>
fn clone(&self) -> NamedObjectBase<O>
Returns a copy of the value. Read more
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl<O: Debug> Debug for NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
O::DescType: Debug,
O::ContentType: Debug,
impl<O: Debug> Debug for NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,
O::DescType: Debug,
O::ContentType: Debug,
sourceimpl<O> NamedObject<O> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> NamedObject<O> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
fn obj_flags(&self) -> u16
fn desc(&self) -> &O::DescType
fn desc_mut(&mut self) -> &mut O::DescType
fn body(&self) -> &Option<ObjectMutBody<O::ContentType, O>>
fn body_mut(&mut self) -> &mut Option<ObjectMutBody<O::ContentType, O>>
fn signs(&self) -> &ObjectSigns
fn signs_mut(&mut self) -> &mut ObjectSigns
fn nonce(&self) -> &Option<u128>
fn body_expect(&self, msg: &str) -> &ObjectMutBody<O::ContentType, O>
fn body_mut_expect(&mut self, msg: &str) -> &mut ObjectMutBody<O::ContentType, O>
fn latest_update_time(&self) -> u64
sourceimpl<O> ObjectFormat for NamedObjectBase<O>where
O: ObjectType,
O::DescType: ObjectFormat,
O::ContentType: BodyContent + ObjectFormat,
NamedObjectBase<O>: NamedObject<O>,
impl<O> ObjectFormat for NamedObjectBase<O>where
O: ObjectType,
O::DescType: ObjectFormat,
O::ContentType: BodyContent + ObjectFormat,
NamedObjectBase<O>: NamedObject<O>,
fn format_json(&self) -> Value
sourceimpl<'de, O> RawDecode<'de> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawDecodeWithContext<'de, NamedObjectContext>,
O::ContentType: RawDecode<'de> + BodyContent,
impl<'de, O> RawDecode<'de> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawDecodeWithContext<'de, NamedObjectContext>,
O::ContentType: RawDecode<'de> + BodyContent,
fn raw_decode(buf: &'de [u8]) -> BuckyResult<(Self, &'de [u8])>
fn raw_decode_with_option(
buf: &'de [u8],
_opt: &RawDecodeOption
) -> BuckyResult<(Self, &'de [u8])>
sourceimpl<O> RawEncode for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> RawEncode for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>
fn raw_encode<'a>(
&self,
buf: &'a mut [u8],
purpose: &Option<RawEncodePurpose>
) -> BuckyResult<&'a mut [u8]>
fn raw_encode_to_buffer(&self) -> BuckyResult<Vec<u8>>
fn raw_tail_encode<'a>(
&self,
buf: &'a mut [u8],
purpose: &Option<RawEncodePurpose>
) -> BuckyResult<&'a [u8]>
fn raw_hash_value(&self) -> BuckyResult<HashValue>
fn hash_buf(&self, encoded_buf: &[u8]) -> HashValue
fn raw_hash_encode(&self) -> BuckyResult<Vec<u8>>
sourceimpl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
fn raw_measure_with_context(
&self,
ctx: &mut NamedObjectContext,
purpose: &Option<RawEncodePurpose>
) -> BuckyResult<usize>
fn raw_encode_with_context<'a>(
&self,
buf: &'a mut [u8],
ctx: &mut NamedObjectContext,
purpose: &Option<RawEncodePurpose>
) -> BuckyResult<&'a mut [u8]>
fn raw_tail_encode_with_context<'a>(
&self,
buf: &'a mut [u8],
context: &mut Context,
purpose: &Option<RawEncodePurpose>
) -> BuckyResult<&'a [u8]>
sourceimpl TryFrom<NamedObjectBase<TypelessObjectType<AnyTypeMark>>> for AnyNamedObject
impl TryFrom<NamedObjectBase<TypelessObjectType<AnyTypeMark>>> for AnyNamedObject
从 TypelessAnyObject 转成 AnyNamedObject
type Error = BuckyError
type Error = BuckyError
The type returned in the event of a conversion error.
sourcefn try_from(value: TypelessAnyObject) -> Result<Self, Self::Error>
fn try_from(value: TypelessAnyObject) -> Result<Self, Self::Error>
Performs the conversion.
sourceimpl<T, DescContentT, BodyContentT> TryFrom<NamedObjectBase<TypelessObjectType<T>>> for NamedObjectBase<NamedObjType<DescContentT, BodyContentT>>where
T: TypeCatagoryMark,
DescContentT: for<'de> RawDecode<'de> + RawEncode + DescContent + Sync + Send + Clone,
BodyContentT: for<'de> RawDecode<'de> + Sync + Send + Clone + RawEncode + BodyContent,
impl<T, DescContentT, BodyContentT> TryFrom<NamedObjectBase<TypelessObjectType<T>>> for NamedObjectBase<NamedObjType<DescContentT, BodyContentT>>where
T: TypeCatagoryMark,
DescContentT: for<'de> RawDecode<'de> + RawEncode + DescContent + Sync + Send + Clone,
BodyContentT: for<'de> RawDecode<'de> + Sync + Send + Clone + RawEncode + BodyContent,
从 TypelessAnyObject/TypelessCoreObject/TypelessStandardObject/TypelessDECAppObject 转成 具体的强类型
type Error = BuckyError
type Error = BuckyError
The type returned in the event of a conversion error.
sourcefn try_from(
value: NamedObjectBase<TypelessObjectType<T>>
) -> Result<Self, Self::Error>
fn try_from(
value: NamedObjectBase<TypelessObjectType<T>>
) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations
impl<O> RefUnwindSafe for NamedObjectBase<O>where
O: RefUnwindSafe,
<O as ObjectType>::ContentType: RefUnwindSafe,
<O as ObjectType>::DescType: RefUnwindSafe,
impl<O> Send for NamedObjectBase<O>where
O: Send,
impl<O> Sync for NamedObjectBase<O>where
O: Sync,
impl<O> Unpin for NamedObjectBase<O>where
O: Unpin,
<O as ObjectType>::ContentType: Unpin,
<O as ObjectType>::DescType: Unpin,
impl<O> UnwindSafe for NamedObjectBase<O>where
O: UnwindSafe,
<O as ObjectType>::ContentType: UnwindSafe,
<O as ObjectType>::DescType: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more