⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgxawsparser.hpp

📁 一个基于BREW上的WEB service程序,通过扫描图书的条形码,登陆WEB站点,利用SOAP-RPC来查询图书信息.
💻 HPP
字号:
/**
***     Class Name                     : SGXAWSParser
***     Version                        : 1.0.0
***
***     Author                         : Sophia Cradle Incorporated
***     Platform                       : x86, ARM
***     OS                             : BREW 2.1, BREW 3.1
***     Target SophiaFramework Version : 3.1 ?
***     Compiler                       : Visual C++ 6.0, Visual C++ .NET 2003,
***                                      RVCTB 1.2
**/

#ifndef __SOPHIACRADLE_SGXAWSPARSER_HPP
#define __SOPHIACRADLE_SGXAWSPARSER_HPP

#include <SophiaFramework.hpp>

//AWS(Amazon Web Services) 偺 XML 儗僗億儞僗傪夝愅偡傞僋儔僗
SFMTYPEDEFCLASS(SGXAWSParser)
class SGXAWSParser {
SFMSEALCOPY(SGXAWSParser)
public:
    SFMTYPEDEFSTRUCT(ItemAttributesRec)
    struct ItemAttributesRec {
        SFXAnsiString binding;
        SFXProperty creator;
        SInt32 amount;
        SFXAnsiString currencyCode;
        SFXAnsiString formattedPrice;
        SInt32 numberOfPages;
        SInt32 packageDimensionsLength;
        SInt32 packageDimensionsWidth;
        SFXAnsiString productGroup;
        SFXDate publicationDate;
        SFXAnsiString publisher;
    };

    SFMTYPEDEFSTRUCT(ImageUrlRec)
    struct ImageUrlRec {
        SFXAnsiString smallImageURL;
        SInt32 smallImageHeight;
        SInt32 smallImageWidth;
        SFXAnsiString mediumImageURL;
        SInt32 mediumImageHeight;
        SInt32 mediumImageWidth;
        SFXAnsiString largeImageURL;
        SInt32 largeImageHeight;
        SInt32 largeImageWidth;
    };

    SFMTYPEDEFSTRUCT(OfferSummaryRec)
    struct OfferSummaryRec {
        SInt32 lowestNewPrice;
        SFXAnsiString currencyCode;
        SFXAnsiString formattedPrice;
        SInt32 totalNew;
        SInt32 totalUsed;
        SInt32 totalCollectible;
        SInt32 totalRefurbished;
    };

    SFMTYPEDEFSTRUCT(OfferRec)
    struct OfferRec {
        SFXAnsiString merchantId;
        SFXAnsiString condition;
        SFXAnsiString offerListingId;
        SInt32 amount;
        SFXAnsiString CurrencyCode;
        SFXAnsiString formattedPrice;
    };

    SFMTYPEDEFSTRUCT(OffersRec)
    struct OffersRec {
        SInt32 totalOffers;
        SInt32 totalOfferspages;
        SFXArray<OfferRecPtr> offers;
    };

    SFMTYPEDEFSTRUCT(ReviewRec)
    struct ReviewRec {
        SFXAnsiString asin;
        SInt32 rating;
        SInt32 helpfulVotes;
        SFXAnsiString customerId;
        SInt32 totalVotes;
        SFXDate date;
        SFXAnsiString summary;
        SFXAnsiString content;
    };

    SFMTYPEDEFSTRUCT(CustomerReviewsRec)
    struct CustomerReviewsRec {
        SInt32 avarageRating;
        SInt32 totalReviews;
        SInt32 totalReviewPages;
        SFXArray<ReviewRecPtr> reviews;
    };

    SFMTYPEDEFSTRUCT(SimilarProductRec)
    struct SimilarProductRec {
        SFXAnsiString asin;
        SFXAnsiString title;
    };

    SFMTYPEDEFSTRUCT(SimilarProductsRec)
    struct SimilarProductsRec {
        SFXArray<SimilarProductRecPtr> similarProducts;
    };

    SFMTYPEDEFSTRUCT(BrowserNodesRec)
    struct BrowserNodesRec {
        SFXAnsiString dummy;
        // Not yet implimentation.
    };

    SFMTYPEDEFSTRUCT(ListmaniaListsRec)
    struct ListmaniaListsRec {
        SFXAnsiString dummy;
        // Not yet implimentation.
    };

private:
    // ItemAttributes 偺僞僌偺壓傪夝愅偡傞偐偳偆偐
    Bool _isParseItemAttributes;
    // SmallImage 偺僞僌偺壓傪夝愅偡傞偐偳偆偐
    Bool _isParseImageUrl;
    Bool _isParseOfferSummary;
    Bool _isParseOffers;
    Bool _isParseCustomerReviews;
    Bool _isParseSimilarProducts;
    Bool _isParseBrowserNodes;
    Bool _isParseListmaniaLists;

    SFXAnsiString _asin;
    SFXAnsiString _detailPageURL;
    SInt32 _salesRank;
    SFXAnsiString _title;

    // 儊儌儕愡栺偺偨傔億僀儞僞偲偟偰曐帩丅
    ItemAttributesRecPtr _itemAttributes;
    ImageUrlRecPtr _imageUrl;
    OfferSummaryRecPtr _offerSummary;
    OffersRecPtr _offers;
    CustomerReviewsRecPtr _customerReviews;
    SimilarProductsRecPtr _similarProducts;
    BrowserNodesRecPtr _browserNodes;
    ListmaniaListsRecPtr _listmaniaLists;

public:
    SGXAWSParser(Void);
    virtual ~SGXAWSParser(Void);
    static SFXAnsiString GetUrl(SFXAnsiStringConstRef isbn);

    Void SetParseItemAttributes(Bool param) { _isParseItemAttributes = param; }
    Void SetParseImageUrl(Bool param) { _isParseImageUrl = param; }
    Void SetParseOfferSummary(Bool param) { _isParseOfferSummary = param; }
    Void SetParseOffers(Bool param) { _isParseOffers = param; }
    Void SetParseCustomerReviews(Bool param) { _isParseCustomerReviews = param; }
    Void SetParseSimilarProducts(Bool param) { _isParseSimilarProducts = param; }
    Void SetParseBrowserNodes(Bool param) { _isParseBrowserNodes = param; }
    Void SetParseListmaniaLists(Bool param) { _isParseListmaniaLists = param; }
    Bool IsParseItemAttributes(Void) { return _isParseItemAttributes; }
    Bool IsParseImageUrl(Void) { return _isParseImageUrl; }
    Bool IsParseOfferSummary(Void) { return _isParseOfferSummary; }
    Bool IsParseOffers(Void) { return _isParseOffers; }
    Bool IsParseCustomerReviews(Void) { return _isParseCustomerReviews; }
    Bool IsParseSimilarProducts(Void) { return _isParseSimilarProducts; }
    Bool IsParseBrowserNodes(Void) { return _isParseBrowserNodes; }
    Bool IsParseListmaniaLists(Void) { return _isParseListmaniaLists; }

    SFXAnsiStringConstRef GetAsin(Void) { return _asin; }
    SFXAnsiStringConstRef GetDetailPageURL(Void) { return _detailPageURL; }
    SInt32 GetSalesRank(Void) { return _salesRank; }
    SFXAnsiStringConstRef GetTitle(Void) { return _title; }

    ItemAttributesRecConstPtr GetItemAttributes(Void) { return _itemAttributes; }
    ImageUrlRecConstPtr GetImageUrl(Void) { return _imageUrl; }
    OfferSummaryRecConstPtr GetOfferSummary(Void) { return _offerSummary; }
    OffersRecConstPtr GetOffers(Void) { return _offers; }
    CustomerReviewsRecConstPtr GetCustomerReviews(Void) { return _customerReviews; }
    SimilarProductsRecConstPtr GetSimilarProducts(Void) { return _similarProducts; }
    BrowserNodesRecConstPtr GetBrowserNodes(Void) { return _browserNodes; }
    ListmaniaListsRecConstPtr GetListmaniaLists(Void) { return _listmaniaLists; }

    SFCError Parse(SFXAnsiStringConstRef filename);
private:
    Void Clear();
    SFCError ParseItemAttributes(SFXXMLNodePtr node);
    SFCError ParseTitle(SFXXMLNodePtr node);
    SFCError ParseSmallImage(SFXXMLNodePtr node);
    SFCError ParseMediumImage(SFXXMLNodePtr node);
    SFCError ParseLargeImage(SFXXMLNodePtr node);
    SFCError ParseOfferSummary(SFXXMLNodePtr node);
    SFCError ParseOffers(SFXXMLNodePtr node);
    SFCError ParseCustomerReviews(SFXXMLNodePtr node);
    SFCError ParseSimilarProducts(SFXXMLNodePtr node);
    SFCError ParseBrowserNodes(SFXXMLNodePtr node);
    SFCError ParseListmaniaLists(SFXXMLNodePtr node);
};

#endif // __SOPHIACRADLE_SGXAWSPARSER_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -