summaryrefslogtreecommitdiff
path: root/xfa/fwl/lightwidget/cfwl_barcode.cpp
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-08-08 17:30:37 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-08 17:30:37 -0700
commit5d8e5aa882fe8d37d32b71137f039165581ddb82 (patch)
treea0a2b0efa1ee6f8fd06c964f4b9cda5f551c74ae /xfa/fwl/lightwidget/cfwl_barcode.cpp
parentb6befb2ed2485a3805cddea86dc7574510178ea9 (diff)
downloadpdfium-5d8e5aa882fe8d37d32b71137f039165581ddb82.tar.xz
Use virtual function to retrieve interface pointer
Use virtual function to return the actual interface type instead of the base interface type to avoid a lot of casts. Also tidy up CFWL_Widget by encapsulating variables, and use smart pointers for class owned member variables. Review-Url: https://codereview.chromium.org/2209153002
Diffstat (limited to 'xfa/fwl/lightwidget/cfwl_barcode.cpp')
-rw-r--r--xfa/fwl/lightwidget/cfwl_barcode.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/xfa/fwl/lightwidget/cfwl_barcode.cpp b/xfa/fwl/lightwidget/cfwl_barcode.cpp
index 2e29d63f34..24dce17fee 100644
--- a/xfa/fwl/lightwidget/cfwl_barcode.cpp
+++ b/xfa/fwl/lightwidget/cfwl_barcode.cpp
@@ -8,6 +8,14 @@
#include <memory>
+IFWL_Barcode* CFWL_Barcode::GetWidget() {
+ return static_cast<IFWL_Barcode*>(m_pIface.get());
+}
+
+const IFWL_Barcode* CFWL_Barcode::GetWidget() const {
+ return static_cast<IFWL_Barcode*>(m_pIface.get());
+}
+
CFWL_Barcode* CFWL_Barcode::Create() {
return new CFWL_Barcode;
}
@@ -24,7 +32,7 @@ FWL_Error CFWL_Barcode::Initialize(const CFWL_WidgetProperties* pProperties) {
if (ret != FWL_Error::Succeeded) {
return ret;
}
- m_pIface = pBarcode.release();
+ m_pIface = std::move(pBarcode);
CFWL_Widget::Initialize();
return FWL_Error::Succeeded;
}
@@ -34,15 +42,12 @@ CFWL_Barcode::CFWL_Barcode() {}
CFWL_Barcode::~CFWL_Barcode() {}
void CFWL_Barcode::SetType(BC_TYPE type) {
- if (!m_pIface)
- return;
- static_cast<IFWL_Barcode*>(m_pIface)->SetType(type);
+ if (GetWidget())
+ GetWidget()->SetType(type);
}
FX_BOOL CFWL_Barcode::IsProtectedType() {
- if (!m_pIface)
- return 0;
- return static_cast<IFWL_Barcode*>(m_pIface)->IsProtectedType();
+ return GetWidget() ? GetWidget()->IsProtectedType() : FALSE;
}
CFWL_Barcode::CFWL_BarcodeDP::CFWL_BarcodeDP()