blob: f95a5a73facd4cec3308b30762d272c5d700fdce [file] [log] [blame]
anjana_sreekumar@infosys.com991c2062020-01-08 11:42:57 +05301 [%- DataBlock = TemplateInputVar %]
2 [%- USE String %]
3 [%- MACRO CLASSNAME(str) BLOCK %]
4 [%- className = String.new %]
5 [%- strList = String.new(str).split("_") %]
6 [%- FOREACH str = strList %]
7 [%- token = className.append(String.new(str).capital.text()) %]
8 [%- END %]
9 [%- className = className.append("Manager") %]
10 [%- className %]
11 [%- END %]
12 [%- MACRO FILENAME(str) BLOCK %]
13 [%- fileName = String.new %]
14 [%- str = CLASSNAME(str) %]
15 [%- fileName = fileName.append(str.substr(0,1)).lower %]
16 [%- fileName = fileName.append(str.substr(1)) %]
17 [%- fileName %]
18 [%- END %]
19 [%- poolMgrClassName = CLASSNAME(DataBlock.BlockName) -%]
20/*
21 * Copyright 2019-present Infosys Limited  
22 *   
23 * SPDX-License-Identifier: Apache-2.0    
24 */
25/******************************************************************************
26 * [% FILENAME(DataBlock.BlockName) %].cpp
27 * This is an auto generated file.
28 * Please do not edit this file.
29 * All edits to be made through template source file
30 * <TOP-DIR/scripts/SMCodeGen/templates/ctxtManagerTmpls/blockPoolManager.cpp.tt>
31 ******************************************************************************/
32
33#include "memPoolManager.h"
34#include "contextManager/dataBlocks.h"
35#include "contextManager/[% FILENAME(DataBlock.BlockName) %].h"
36
37using namespace cmn::memPool;
38
39namespace mme
40{
41 /******************************************************************************
42 * Constructor
43 ******************************************************************************/
44 [%poolMgrClassName%]::[%poolMgrClassName%](int numOfBlocks):poolManager_m(numOfBlocks)
45 {
46 }
47
48 /******************************************************************************
49 * Destructor
50 ******************************************************************************/
51 [%poolMgrClassName%]::~[%poolMgrClassName%]()
52 {
53 }
54
55 /******************************************************************************
56 * Allocate [% DataBlock.BlockName %] data block
57 ******************************************************************************/
58 [% DataBlock.BlockName %]* [%poolMgrClassName%]::allocate[% DataBlock.BlockName %]()
59 {
60 [% DataBlock.BlockName %]* [% DataBlock.BlockName %]_p = poolManager_m.allocate();
61 return [% DataBlock.BlockName %]_p;
62 }
63
64 /******************************************************************************
65 * Deallocate a [% DataBlock.BlockName %] data block
66 ******************************************************************************/
67 void [%poolMgrClassName%]::deallocate[% DataBlock.BlockName %]([% DataBlock.BlockName %]* [% DataBlock.BlockName %]p)
68 {
69 poolManager_m.free( [% DataBlock.BlockName %]p );
70 }
71}