Files
handleaiuinew/env/LMI/include/kApi/Data/kArrayProvider.x.h
T

77 lines
1.9 KiB
C
Raw Normal View History

2024-05-18 23:53:26 +08:00
/**
* @file kArrayProvider.x.h
*
* @internal
* Copyright (C) 2020-2021 by LMI Technologies Inc.
* Licensed under the MIT License.
* Redistributed files must retain the above copyright notice.
*/
#ifndef K_API_ARRAY_PROVIDER_X_H
#define K_API_ARRAY_PROVIDER_X_H
typedef struct kArrayProviderVTable
{
kStatus (kCall* VConstructDefault)(kArrayProvider* provider, kAlloc objectAlloc, kAlloc valueAlloc);
kStatus (kCall* VImitate)(kArrayProvider provider, kArrayProvider source);
kStatus (kCall* VAssign)(kArrayProvider provider, kArrayProvider source, kObject context);
kType (kCall* VItemType)(kArrayProvider provider);
kSize (kCall* VCount)(kArrayProvider provider);
kPointer (kCall* VData)(kArrayProvider provider);
kSize (kCall* VDataSize)(kArrayProvider provider);
kAlloc (kCall* VDataAlloc)(kArrayProvider provider);
} kArrayProviderVTable;
kDeclareInterfaceEx(k, kArrayProvider, kNull)
/*
* Forard declarations.
*/
kInlineFx(kType) kArrayProvider_ItemType(kArrayProvider provider);
/*
* Private methods.
*/
kInlineFx(kStatus) xkArrayProvider_VConstructDefault(kArrayProvider* provider, kAlloc objectAlloc, kAlloc valueAlloc)
{
return kERROR_UNIMPLEMENTED;
}
kInlineFx(kStatus) xkArrayProvider_VAssign(kArrayProvider provider, kArrayProvider source, kObject context)
{
return kERROR_UNIMPLEMENTED;
}
kInlineFx(kStatus) xkArrayProvider_VImitate(kArrayProvider provider, kArrayProvider source)
{
return kERROR_UNIMPLEMENTED;
}
kInlineFx(kType) xkArrayProvider_VItemType(kArrayProvider provider)
{
return kNULL;
}
kInlineFx(kSize) xkArrayProvider_VCount(kArrayProvider provider)
{
return 0;
}
kInlineFx(kPointer) xkArrayProvider_VData(kArrayProvider provider)
{
return kNULL;
}
kInlineFx(kSize) xkArrayProvider_VDataSize(kArrayProvider provider)
{
return 0;
}
kInlineFx(kAlloc) xkArrayProvider_VDataAlloc(kArrayProvider provider)
{
return kNULL;
}
#endif