Listing 5: ObjectList
#!/bin/ksh
#
# Class: ObjectList
####################################################################
ObjectListId=$1
((LastItemUsed=0))
## _InsertItem() ###################################################
eval "${ObjectListId}_InsertItem() { ITEM=\$1
List[LastItemUsed]=\$ITEM
((LastItemUsed=LastItemUsed+1))
}"
## _GetItem() ######################################################
eval "${ObjectListId}_GetItem() { pos=\$1
echo \${List[pos]}
}"
## _GetAllItems() ##################################################
eval "${ObjectListId}_GetAllItems() { echo \${List[*]}
}"
## _RemoveLastItem() ###############################################
eval "${ObjectListId}_RemoveLastItem() { List[LastItemUsed-1]=" "
((LastItemUsed=LastItemUsed-1))
}"
## _Execute() ######################################################
eval "${ObjectListId}_Execute() { CMND=\$1 ARGS=\$2
for system in \$(${ObjectListId}_GetAllItems); do
eval \${system}_\${CMND} \$ARGS
done
}"
# End of File
|