77 lines
1.9 KiB
C
77 lines
1.9 KiB
C
/**
|
|||
|
|
* @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
|