You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

134 lines
4.8 KiB

//Copyright 2020 Siemens Digital Industries Software
//==================================================
//Copyright $2020.
//Siemens Product Lifecycle Management Software Inc.
//All Rights Reserved.
//==================================================
//Copyright 2020 Siemens Digital Industries Software
/*==================================================================================================
File description:
This file contains the declaration for the Business Object, Ptn0PartitionLineDelegate
Filename: Ptn0PartitionLineDelegate.hxx
Module: ptn0partition
@BMIDE autogenerated
==================================================================================================*/
#ifndef TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX
#define TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX
#include <common/tc_deprecation_macros.h>
#include <ptn0partition/Ptn0PartitionLine.hxx>
#include <ptn0partition/libptn0partition_exports.h>
namespace Teamcenter
{
namespace Partition
{
class Ptn0PartitionLineDelegate;
}
}
namespace Teamcenter
{
namespace Partition
{
class Ptn0PartitionLineImpl;
}
}
namespace Teamcenter
{
namespace Partition
{
class Ptn0PartitionLine;
}
}
namespace Teamcenter
{
namespace Partition
{
class Ptn0PartitionLineGenImpl;
}
}
namespace Teamcenter_alias = ::Teamcenter;
class PTN0PARTITION_API Teamcenter_alias::Partition::Ptn0PartitionLineDelegate
{
public:
// Method to initialize this Class
static int initializeClass();
// Method to get the Ptn0PartitionLineDelegate instance
static Ptn0PartitionLineDelegate& getInstance();
// Method to create the Ptn0PartitionLineImpl pointer
static Ptn0PartitionLineImpl* createImpl( Ptn0PartitionLine& ifObj );
// Method to delete the Ptn0PartitionLineImpl pointer
static void deleteImpl( Ptn0PartitionLineImpl* impl );
///
/// Getter for an Integer Property
/// @version Teamcenter 13.1
/// @param value - Parameter Value
/// @param isNull - Returns true if the Parameter value is null
/// @return - Status. 0 if successful
///
int getPtn0ChildPartitionCountBase(const Ptn0PartitionLine &ifObj, int &value, bool &isNull ) const;
///
/// Returns the BOMLines that are members of the Partition.
/// @version Teamcenter 13.1
/// @param values - Parameter value
/// @param isNull - Returns true for an array element if the parameter value at that location is null
/// @return - Status. 0 if successful
///
int getPtn0MembersBase(const Ptn0PartitionLine &ifObj, std::vector< tag_t > &values, std::vector< int > &isNull ) const;
///
/// Expands a set of BOM Lines from the same BOM Window, each to one level. The order of the returned child BOM Lines is not guaranteed.The parameter expansionCriteria is a set of bitwise or-ed flags controlling the expansion behavior, see Expansion Criteria Flags.
/// @version Teamcenter 12.2
/// @param bulkInput - Bulk Input containing the input parent BOMLines that need to be expanded.
/// @param bd - Bulk Data required for bulk processiong of the inputs.
/// @param expansionCriteria - Contains bit flags controlling expansion behavior. Refer to the section #Expansion_Criteria.
/// @param occurenceThreads - Occurrence thread tags used in filter by occurrence threads.
/// @param occurenceThreadParents - BOMLine tags of parent BOMLine for each occurrence thread, used in filter by occurrence threads.
/// @param parentLinesToChildLinesMap - Map containing keys as the parent input lines and values as their respective children.
/// @param errorMap - Map of all the errors during the expansion of the Parent Lines.
/// @return -
///
int fnd0ExpandLinesBase( std::vector< ::Teamcenter::BulkInput* > *bulkInput, ::Teamcenter::BulkData *bd, int expansionCriteria, std::vector< tag_t > *occurenceThreads, std::vector< tag_t > *occurenceThreadParents, std::map< tag_t,std::vector< tag_t > > *parentLinesToChildLinesMap, ::Teamcenter::ErrorMap *errorMap );
///
/// Generates permanent ID/recipe. Every Business Object should implement this operation.
/// @version Teamcenter 11.1
/// @param recipe - Permanent ID/recipe
/// @return - Failure code.
///
int fnd0GenerateRecipeBase(const Ptn0PartitionLine &ifObj, std::string *recipe );
protected:
// Pointer to the instance
static Ptn0PartitionLineDelegate* m_pInstance;
Ptn0PartitionLineDelegate();
virtual ~Ptn0PartitionLineDelegate();
static void setInstance( Ptn0PartitionLineDelegate* instance );
private:
friend class ::Teamcenter::Partition::Ptn0PartitionLineGenImpl;
};
#include <ptn0partition/libptn0partition_undef.h>
#endif // TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX